
DCE
Ngôn ngữ lập trình Assembly
cho vi điều khiển 8051
Microcontroller
Chapter 3
Ngo Nhu Khoa
Department of Computer Engineering
ThaiNguyen University of Technology

10/1/2005 2
DCE
Các vấn đề
z
Mã máy - Machine code
z
Các chế độ địa chỉ của 8051
z
Các lệnh Jump, Loop và Call
z
Thường trình con - Subroutines
z
Các vòng trễ đơn giản

10/1/2005 3
DCE
1. Mã đối tượng của 8051
z
Assembler chuyển đổi mã lệnh assembly thành mã
máy/đối tượng
z
Sự chuyển đổi từ mã assembly sang mã đối tượng là
duy nhất
–Data sheet for 8051 lists the table of conversion
–Manual assembly is cool !
z
Mã đối tượng là 1 chuỗi các lệnh máy
z
Mỗi lệnh máy có thể có độ dài 1 byte hoặc nhiều hơn
z
Các lệnh máy là 1 giá trị nhị phân và được viết ở hệ 16

10/1/2005 4
DCE
1. Mã đối tượng của 8051 (…)
z
Assemblers tạo ra 1 file .lst trong quá trình dịch.
z
Instruction to m/c code translation on a line by line
basis is listed
1
1
2
2
2
3
00
08
74 55
78 AA
A8 AA
90 55 AA
nop
inc R0
mov A, #55H
mov R0, #0AAH
mov R0, 0AAH
mov DPTR, #55AAH
#bytes Hex code Instruction

10/1/2005 5
DCE
1. Mã đối tượng của 8051 (…)
79
61
78
1A
E9
12
00
30
09
D8
F9
12
00
32
02
00
00
8000
8001
8002
8003
8004
8005
8006
8007
8008
8009
800A
800B
800C
800D
800E
800F
8010
ValueAddress
.equ cout, 0x0030
.equ cin, 0x0032
.equ esc, 0x004E
.org 0x8000
mov r1, #'a'
mov r0, #26
next_char:
mov A, r1
lcall cout
inc r1
djnz r0, next_char
lcall cin
ljmp 0x0000
0000:
0000:
0000:
8000:
8000: 79 61
8002: 78 1A
8004: E9
8005: 12 00 30
8008: 09
8009: D8 F9
800B: 12 00 32
800E: 02 00 00
AssemblyHex

