You are on page 1of 7

; trong vung nho tu x3000 den x300F chua cac so nguyen, dem va in ra man

hinh so cac so nguyen be hon so o x3010


.ORIG X3100
LD R1, N
LDI R2, A1
AND R5, R5, #0
LD R3, BATDAU
LAP LDR R4, R3, #0
NOT R4, R4
ADD R4, R4, #1
ADD R4, R2, R4
BRp DEM
ADD R3, R3, #1
ADD R1, R1, #-1
BRp LAP
BRnzp KETTHUC
DEM ADD R5, R5, #1
ADD R3, R3, #1
ADD R1, R1, #-1
BRp LAP
BRnzp KETTHUC
KETTHUC LEA R0, TB
PUTS
LD R1, ASCII
ADD R6, R5, #-10
BRzp HAICHUSO
ADD R0, R5, R1
OUT
HALT
HAICHUSO ADD R0, R1, #1
OUT
ADD R0, R6, R1
OUT
HALT
A1 .FILL X3010
BATDAU .FILL X3000
N .FILL #16
ASCII .FILL X30
TB .STRINGZ "SO CAC SO NGUYEN THOA YEU CAU LA: "
.END

;sap xep du lieu cac o nho tu x3000 den x300A theo chieu nguoc lai
.ORIG X3100
LD R5, N
LD R1, BATDAU
LD R2, KETTHUC
LAP LDR R3, R1, #0
LDR R4, R2, #0
STR R3, R2, #0
STR R4, R1, #0
ADD R1, R1, #1
ADD R2, R2, #-1
ADD R5, R5, #-1
BRp LAP
HALT
BATDAU .FILL X3000
KETTHUC .FILL X300A
N .FILL #5
.END

;DEM SO SO NGUYEN NAM NGOAI KHOANG X,Y LUU TU X3000 DEN X300A, X LUU
O X3011, Y LUU O X3012, X<Y
.ORIG X3100
LDI R1, X
LDI R2, Y
NOT R1, R1
ADD R1, R1, #1
NOT R2, R2
ADD R2, R2, #1
LEA R0, TB1
PUTS
LD R3, N
LD R4, BATDAU
AND R6, R6, #0
LAP LDR R5, R4, #0
ADD R0, R5, R1
BRp DEM
ADD R0, R5, R2
BRp DEM
ADD R4, R4, #1
ADD R3, R3, #-1
BRp LAP
BRnzp KETTHUC
DEM ADD R6, R6, #1
ADD R4, R4, #1
ADD R3, R3, #-1
BRp LAP
KETTHUC LD R1, ASCII
ADD R0, R6, R1
OUT
HALT
ASCII .FILL X30
N .FILL #11
X .FILL X3011
Y .FILL X3012
BATDAU .FILL X3000
TB1 .STRINGZ "so cac so thoa yeu cau la: "
.END

;tim trong vung nho tu x3000 den x3009 hai so X, Y luu vao o nho
x300B va x300C sao cho X va Y gan voi gia tri K o x300A nhat (X<K<Y).
.ORIG X3010
LD R1, BATDAU ; R1= X3000
LDI R3, K
LD R5, N
NOT R3, R3
ADD R3, R3, #1 ; R3= -K
LAP1 LDR R2, R1, #0
ADD R4, R2, R3
BRn TIMY0
ADD R1, R1, #1
ADD R5, R5, #-1
BRp LAP1
TIMY0 STI R2, X
LD R1, BATDAU ; R1= X3000
LDI R3, K
LD R5, N
NOT R3, R3
ADD R3, R3, #1 ; R3= -K
LAP2 LDR R2, R1, #0
ADD R4, R2, R3
BRp TIMX
ADD R1, R1, #1
ADD R5, R5, #-1
BRp LAP2
TIMX STI R2, Y
LD R1, BATDAU ; R1= X3000
LDI R3, K
LD R5, N
NOT R3, R3
ADD R3, R3, #1 ; R3= -K
LAP3 LDR R2, R1, #0
ADD R4, R2, R3
BRn SOSANH1
ADD R1, R1, #1
ADD R5, R5, #-1
BRp LAP3
SOSANH1 LDI R6, X
NOT R6, R6
ADD R6, R6, #1
ADD R6, R6, R2
BRp XNEW
ADD R1, R1, #1
ADD R5, R5, #-1
BRp LAP3
BRnzp TIMY
XNEW STI R2, X
ADD R1, R1, #1
ADD R5, R5, #-1
BRp LAP3

TIMY LD R1, BATDAU ; R1= X3000


LDI R3, K
LD R5, N
NOT R3, R3
ADD R3, R3, #1 ; R3= -K
LAP4 LDR R2, R1, #0
ADD R4, R2, R3
BRp SOSANH2
ADD R1, R1, #1
ADD R5, R5, #-1
BRp LAP4
HALT
SOSANH2 LDI R6, Y
NOT R6, R6
ADD R6, R6, #1
ADD R6, R6, R2
BRn YNEW
ADD R1, R1, #1
ADD R5, R5, #-1
BRp LAP4
BRnzp TIMY
YNEW STI R2, Y
ADD R1, R1, #1
ADD R5, R5, #-1
BRp LAP4
HALT

BATDAU .FILL X3000


N .FILL #10
K .FILL X300A
X .FILL X300B
Y .FILL X300C

.END

;Tim trong vung nho tu x3000 den x3009 hai o nho chua X la so chan
lon nhat, Y la so le be nhat, hoan vi 2 o nho do.
.ORIG X3010
LD R1, BATDAU ;R1= X3000
LD R2, N ;R2 = 10
LD R3, TEST ;R3 =0001
LAP1 LDR R4, R1, #0
AND R5, R4, R3
BRz TIMY0
ADD R1, R1, #1
ADD R2, R2, #-1
BRp LAP1
HALT

TIMY0 STI R4, X


STI R1, AX
LD R1, BATDAU ;R1= X3000
LD R2, N ;R2 = 10
LD R3, TEST ;R3 =0001
LAP2 LDR R4, R1, #0
AND R5, R4, R3
BRp TIMX
ADD R1, R1, #1
ADD R2, R2, #-1
BRp LAP2
HALT

TIMX STI R4, Y


STI R1, AY
LD R1, BATDAU ;R1= X3000
LD R2, N ;R2 = 10
LD R3, TEST ;R3 =0001
LAP3 LDR R4, R1, #0
AND R5, R4, R3
BRz SOSANH1
ADD R1, R1, #1
ADD R2, R2, #-1
BRp LAP3
BRnzp TIMY
SOSANH1 LDI R5, X
NOT R5, R5
ADD R5, R5, #1
ADD R5, R5, R4
BRp XNEW
ADD R1, R1, #1
ADD R2, R2, #-1
BRp LAP3
BRnzp TIMY
XNEW STI R4, X
STI R1, AX
ADD R1, R1, #1
ADD R2, R2, #-1
BRp LAP3

TIMY LD R1, BATDAU ;R1= X3000


LD R2, N ;R2 = 10
LD R3, TEST ;R3 =0001
LAP4 LDR R4, R1, #0
AND R5, R4, R3
BRp SOSANH2
ADD R1, R1, #1
ADD R2, R2, #-1
BRp LAP4
BRnzp HOANVI
SOSANH2 LDI R5, Y
NOT R5, R5
ADD R5, R5, #1
ADD R5, R5, R4
BRn YNEW
ADD R1, R1, #1
ADD R2, R2, #-1
BRp LAP4
BRnzp HOANVI
YNEW STI R4, Y
STI R1, AY
ADD R1, R1, #1
ADD R2, R2, #-1
BRp LAP4

HOANVI LDI R1, X


LDI R2, AY
STR R1, R2, #0
LDI R1, Y
LDI R2, AX
STR R1, R2, #0
HALT

BATDAU .FILL X3000


N .FILL #10
TEST .FILL #1
X .FILL X30F0
AX .FILL X30F1
Y .FILL X30F2
AY .FILL X30F3
.END

;cho day so luu tu x3100 den x3109 sap xep tu be den lon luu tu x3100
.ORIG X3000
LD R1, N ;R1 DEM TU 10
LD R2, VUNG1 ;R2 TU X3100
THUNHO LDR R3, R2, #0 ; GIA SU R3 LON NHAT TRONG VUNG CHUA SO
SANH
ADD R5, R1, #-1 ; VUNG CHUA SO SANH
AND R0, R0, #0
LAP ADD R0, R0, #1
ADD R6, R2, R0
LDR R4, R6, #0 ;VI TRI DANG SO SANH
NOT R6, R4
ADD R6, R6, #1
ADD R6, R6, R3
BRn DAO ;R4 LON HON R3 => DAO VI TRI
ADD R5, R5, #-1
BRp LAP
ADD R2, R2, #1
ADD R1, R1, #-1
BRp THUNHO
HALT
DAO ADD R6, R2, R0
STR R3, R6, #0
STR R4, R2, #0
BRnzp THUNHO
HALT
N .FILL #10
VUNG1 .FILL X3100
.END

You might also like