You are on page 1of 13

VI XỬ LÝ

Giảng viên: Nguyễn Tuấn Ninh


Bài giảng buổi 11:
Bài tập
Sinh viên : Đặng Hoàng Bảo Phúc – 20181693
Phạm Thu Thảo - 20183836
Viết chương trình con cộng hai số 4
byte. Hai số hạng đều trong bộ nhớ, kết
quả cất vào số hạng đầu.
BÀI TẬP Chú ý: byte MSB được cất tại ô nhớ có
địa chỉ nhỏ?
MSB LSB
S1 AA BB CC DD
+
S2 XX YY ZZ SS
_____________________
QQ PP NN MM LL

9/3/20XX Presentation Title 3


Bộ nhớ trong
Internal RAM
Sơ đồ Memory

} S2

} S1

9/3/20XX Presentation Title 5


Lưu đồ
thuật toán

9/3/20XX Presentation Title 6


Câu lệnh Cong 4 bytes:
push A
push R0
push R1
push R6
mov R0, #AddS1_LSB
mov R1, #AddS2_LSB
clr c
mov R6, #04 H
Lap:
mov A, @R0
addc A, @R1
dec R0
dec R1
djnz R0, Lap
mov A, #0
addc A, #0
mov @R0, A
pop A
pop R0
pop R1
pop R6
ret
9/3/20XX Presentation Title 7
1

Vì chương trình con không được ảnh hưởng đến giá trị thanh ghi của
chương trình chính. Ở đây dùng 4 thanh ghi R0, R1, A, R6
=> Đầu chương trình con có 4 lệnh push, cuối chương trình con có 4
lệnh pop

Presentation Title 8
• Là thanh ghi duy nhất 16bit, gồm 2 thanh ghi DPH
và DPL, có vai trò như R0 và R1
Thanh ghi • Câu lệnh: movx A,@dptr

dptr (chuyển nội dung ô nhớ có địa chỉ trong dptr vào
thanh ghi A)
mov dph, #10H
=> mov dptr, #1000H
mov dpl, #00H

9/3/20XX Presentation Title 9


Bộ nhớ ngoài
Secondary Memory
Lưu đồ
thuật toán

9/3/20XX Presentation Title 11


Câu lệnh mov R7, #4
clr c
mov dptr, #AddS1_LSB
push dph
push dpl
Lặp:
mov A, @dptr
mov R4, A
dec dptr
mov R5, dph
mov R6,dpl
pop dph
pop dpl
mov A, @dptr
addc A, R4
mov @dptr, A
dec dptr
push dph
push dpl
Gán:
mov R5, dph
mov R6, dpl
jmp Lặp
djnz R7, Gán
mov A, #0
addc A, #0
mov @dptr, A
9/3/20XX Presentation Title 12
Thank you

9/3/20XX Presentation Title 13

You might also like