第二十课:汇编语言及汇编过程
一、汇编程序功能  汇编指令与机器码指令有一一对应的关系。 汇编程序是一种翻译程序,将源程序翻译成目标程序。
二、汇编程序的汇编过程 汇编有两种方法:手工汇编、机器汇编。 1、手工汇编: 第一次汇编:确定地址,翻译成各条机器码,字符标号原样写出; 第二次汇编:标号代真,将字符标号用所计算出的具体地址值或偏移量代换。
| |
源程序
|
地址
|
目标程序
|
| |
第一次汇编
|
第二次汇编
|
| |
|
ORG 1000H
|
|
|
|
| |
START:
|
MOV R0,BUFFER-1
|
1000
|
A82F
|
A82F
|
| |
|
MOV R2,#00H
|
1002
|
7A00
|
7A00
|
| |
|
MOV A,@R0
|
1004
|
E6
|
E6
|
| |
|
MOV R3,A
|
1005
|
FB
|
FB
|
| |
|
INC R3
|
1006
|
0B
|
0B
|
| |
|
SJMP NEXT
|
1007
|
80NEXT
|
8005
|
| |
LOOP; |
INC R0
|
1009
|
08
|
08
|
| |
|
CJNE @R0,#44H,NEXT
|
100A
|
B644NEXT
|
B64401
|
| |
|
INC R2
|
100D
|
0A
|
0A
|
| |
NEXT: |
DJNZ R3,LOOP
|
100E
|
DBLOOP
|
DBF9
|
| |
|
MOV RESULT,R2
|
1010
|
8A2A
|
8A2A
|
| |
|
SJMP $
|
1012
|
80FE
|
80FE
|
| |
BUFFER |
DATA 30H
|
|
|
|
| |
RESULT |
DATA 2AH
|
|
|
|
|
|
|
|
|
|
2、机器汇编 两次扫描过程。 第一次扫描:检查语法错误,确定符号名字; 建立使用的全部符号名字表; 每一符号名字后跟一对应值(地址或数)。 第二次扫描:是在第一次扫描基础上,将符号地址转换成真地址(代真); 利用操作码表将助记符转换成相应的目标码。
|