You are on page 1of 3

1

Bài tập lập trình assembly.


Họ Tên: Lê Nhật Minh Khôi
MSSV: HE180029
Lớp: SE1821
------------------------------------------

Bài 1: Bài 1: Cho A, B, C, D thực hiện các phép tính

1.a

.include "beta.uasm"
//(A+B)*C/D
A=2
B=3
C=2
D=1
ADDC(r31, A, r0)
ADDC(r0, B, r1)
MULC(r1, C, r2)
DIVC(r2, D, r3)
HALT()

1.b

.include "beta.uasm"
//Viet ctrinh thuc hien phep tinh Y=(A*B)/(C+D)
A=3
B=4
C=3
D=3
ADDC(r31, A, r0)
MULC(r0, B, r1)
ADDC(r15, C, r2)
ADDC(r2, D, r2)
DIV(r1, r2, r3)

HALT()

1.c

.include "beta.uasm"
//Viet ctrinh thuc hien phep tinh Y=(A+B+C)/ (A-C+D)
A=3

1
2

B=6
C=3
D=3
ADDC(r31, A, r0)
ADDC(r0, B, r1)
ADDC(r1, C, r2)
SUBC(r0, C, r3)
ADDC(r3, D, r4)
DIV(r2, r4, r5)

HALT()

1.d

.include "beta.uasm"
//(A*C)/(B-D)
A=3
B=6
C=3
D=3
ADDC(r31, A, r0)
MULC(r0, C, r1)
ADDC(r30, B, r2)
SUBC(r2, D, r3)
DIV(r1, r3, r4)

HALT()

1.e

.include "beta.uasm"
//Y=A/(B+C)*(C-D)
A=12
B=1
C=3
D=0
ADDC(r31, A, r0)
ADDC(r31, B, r1)
ADDC(r1, C, r2)
ADDC(r31, C, r3)
SUBC(r3, D, r3)
MUL(r2, r3, r4)
DIV(r0, r4, r5)

HALT()

Bài 2: Cho A, B, C, D So sánh A&B Nếu A=B thì (A+C)/(B+D), Nếu A khác B thì (A+C)*(B+D

2
3

.include"beta.uasm"
A=1
B=1
C=1
D=1
ADDC(R31,A,R0)
ADDC(R0,C,R0)
ADDC(R31,B,R1)
ADDC(R1,D,R1)
ADDC(R31,A,R2)
ADDC(R31,B,R3) //R3=B
// CMPEQ(RA, RB, RC) // RC <- <RA> == <RB>
CMPEQ(R2,R3,R8) //Check = R8
// BNE(RA, LABEL) // IF <RA>!=0 THEN PC <- LABEL
BNE(R8,Function1) //R8==1 thi thuc hien Function1
MUL(R0,R1,R9)
Function1:
DIV(R0,R1,R9)
The_end:
ST(R9,a,R31) // dap so luu o R9
.=0x100 //a[0] tai dia chi 0x100
a:
LONG(0) // a[0]
//LONG(0)
// => a[n] ( &a[1]=0x100 + n*sizeof(long))

HALT()

Bài 3: Nhập 2 số A và B tìm số lớn hơn

.include "beta.uasm"

HALT()

You might also like