
DCE
LẬP TRÌNH 8051
SỐ HỌC 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ố học các số có dấu và số không dấu
z
Các số nhị phân và mã BCD
z
Các lệnh cộng
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 lệnh trên bit đơn

10/1/2005 3
DCE
1. Phép cộng không dấu
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 cộng các số 16 bit
addc A, source ; A = A + source + CY
–Cộng 2 byte thấp bằng lệnh add
–Lưu lại kết quả
–Cộng 2 byte cao bằng lệnh addc

10/1/2005 4
DCE
1. Phép cộng không dấu ...
z
Ví dụ phép cộng các số 16 bit
Cộng 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. Cộng các số BCD
z
BCD – Binary Coded Decimal
–4 bits được sử dụng để mô tả 1 số hệ 10 từ 0-9
z
Gói BCD chứa 2 số BCD trong 1 Byte
–17 PBCD = 17decimal = 11hex
z
Phép cộng gói BCD có thể không là 1 số BCD hợp lệ.
Do đó người ta phải sử dụng lệnh hiệu chỉnh thập
phân (da A) để sửa lại
z
Sau phép cộng 2 gói BCD, gọi da để nhận đượ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)

