You are on page 1of 1

1 BÀI TẬP: LC-3

2
3 VD: Âm – Dương:
4 .ORIG X3010 ; chuong trinh bat dau o o nho x3010
5 -> co the thay dia chi o nho khac tuy theo de bai
6
7 AND R0, R0, #0 ;
8 AND R5, R5, #0 ;
9 AND R6, R6, #0 ; xoa cac thanh ghi de lam bien dem
10 ADD R0, R0, #10 ; co 10 gia tri can kiem -> bien dem R0 bat dau tu 10
11 -> co the thay bay so khac tuy theo de bai
12 LD R1, MEM ; dua dia chi o nho dau tien vao R1
13
14 LOOP LDR R2, R1, #0 ; lay gia tri luu trong dia chi o nho dang chua
15 trong R1 vao R2
16 BRP POS ; neu la so duong thi toi label "POS"
17 BRN NEG ; neu la so am thi toi label "NEG"
18 BRZ NEXT
19
20 POS ADD R5, R5, #1 ; bien dem so duong R5 tang them 1
21 BR NEXT ; re nhanh ko dieu kien den "NEXT"
22
23 NEG ADD R6, R6, #1 ; bien dem so am tang them 1
24 BR NEXT ; -> "NEXT"
25
26 NEXT ADD R1, R1, #1 ; dia chi o nho luu trong R1 tang them 1
27 ADD R0, R0, #-1 ; bien dem R0 giam di 1
28 BRP LOOP ; neu chua du 10 gia tri thi quay lai "LOOP"
29
30 ; sau khi R0 -> 0 ket thuc vong lap "LOOP"
31 ; so duong da co the nhin thay tren thanh ghi R5
32 ; so am da co the nhin thay tren thanh ghi R6
33 ; nhom lenh ben duoi la de xuat ket qua ra man hinh
34
35 LD R0, ASCII ; "ASCII" -> R0
36 ADD R0, R0, R5 ; dua R5 ve ma Ascii de xuat
37 TRAP X21 ; xuat
38 LEA R0, MESG ;
39 TRAP X22 ; xuat chuoi trong "MESG"
40
41 LD R0, DOWN ;
42 TRAP X21 ; xuat ky tu xuong dong
43
44 LD R0, ASCII ; "ASCII" -> R0
45 ADD R0, R0, R6 ; dua R6 ve ma Ascii de xuat
46 TRAP X21 ; xuat
47 LEA R0, MESG2 ;
48 TRAP X22 ; xuat chuoi trong "MESG2"
49 HALT ; lenh ket thuc chuong trinh
50
51
52 MEM .FILL X3000 ; dia chi o nho dau tien la x3000
53 -> co the thay thanh dia chi o nho khac tuy
54 theo de bai
55 ASCII .FILL X30 ; hang so dua he thap phan ve ma Ascii
56 DOWN .FILL X0D ; ma Ascii ky tu xuong dong
57 MESG .STRINGZ " SO DUONG" ;
58 MESG2 .STRINGZ " SO AM" ; chuoi
59
60 .END ; khong con lenh nao sau lenh nay
61

You might also like