DCE
Ngôn ng lp trình Assembly
cho vi điu khin 8051
Microcontroller
Chapter 3
Ngo Nhu Khoa
Department of Computer Engineering
ThaiNguyen University of Technology
10/1/2005 2
DCE
Các vn đề
z
Mã máy - Machine code
z
Các chế độ địa ch ca 8051
z
Các lnh Jump, Loop và Call
z
Thường trình con - Subroutines
z
Các vòng tr đơn gin
10/1/2005 3
DCE
1. Mã đối tượng ca 8051
z
Assembler chuyn đổi mã lnh assembly thành mã
máy/đối tượng
z
S chuyn đổi t mã assembly sang mã đối tượng là
duy nht
Data sheet for 8051 lists the table of conversion
Manual assembly is cool !
z
đối tượng là 1 chui các lnh máy
z
Mi lnh máy có thđộ dài 1 byte hoc nhiu hơn
z
Các lnh 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 ca 8051 (…)
z
Assemblers to ra 1 file .lst trong quá trình dch.
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 ca 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