DCE
LP TRÌNH 8051
S HC VÀ LÔ GIC
Microcontroller
Chapter 4
Ngo Nhu Khoa
Department of Computer Engineering
ThaiNguyen University of Technology
10/1/2005 2
DCE
Các ch đề
z
S hc các s có du và s không du
z
Các s nh phân và mã BCD
z
Các lnh cng
z
Phép tr
z
Phép nhân
z
Phép chia
z
Các phép toán Logic
z
Các phép Quay và hoán đổi
z
B nh địa ch hoá Bit và các lnh trên bit đơn
10/1/2005 3
DCE
1. Phép cng không du
z
Cú pháp
add a, source ; A = A + source
Giá tr nh (nếu có) s đặt trong c CY
mov A, #0F5H
add A, #0BH ; A = F5 + B0 = 00, CY=1
z
Phép cng các s 16 bit
addc A, source ; A = A + source + CY
Cng 2 byte thp bng lnh add
Lưu li kết qu
Cng 2 byte cao bng lnh addc
10/1/2005 4
DCE
1. Phép cng không du ...
z
Ví d phép cng các s 16 bit
Cng UUVV và PPQQ
clr C
mov A, QQ
add A, VV
mov r6, A
mov A, PP
addc A, UU
mov r7, A
Kết qu là s 16 bit đặt trong các thanh ghi R7:R6 và
CY
10/1/2005 5
DCE
2. Cng các s BCD
z
BCD – Binary Coded Decimal
4 bits được s dng để mô t 1 s h 10 t 0-9
z
Gói BCD cha 2 s BCD trong 1 Byte
17 PBCD = 17decimal = 11hex
z
Phép cng gói BCD có th không là 1 s BCD hp l.
Do đó người ta phi s dng lnh hiu chnh thp
phân (da A) để sa li
z
Sau phép cng 2 gói BCD, gi da để nhn được
PBCD đúng
mov A, #47H ; first BCD = 47d
mov B, #25H ; second BCD = 25d
add A,B ; A = 6CH (binary addition of 47H and 25H)
da A ; A = 72H (BCD result of addition)