单片机实验报?/p>
1 / 8
汇编语言程序设计
1
)编译后?/p>
系统提示?/p>
目标越界
?/p>
改为
AJMP
后编译通过?/p>
?/p>
ORG
07FFH
改为
0800H,
系统提示?/p>
目标越界
?/p>
这说?/p>
AJMP
可以?/p>
2KB
?/p>
围内无条件转移?/p>
2.
改为
LJMP
编译通过,这说明
LJMP
可以?/p>
64KB
范围内无条件转移?/p>
3.
?/p>
LJMP
LP1
改为
SJMP
LP0
,机器码?/p>
80
FC
,其?/p>
FC
为偏移量,它?/p>
一?/p>
?/p>
码,
01H~7FH
说明?/p>
PC
(增大√、减小)方向跳,
80H~FFH
说明?/p>
PC
(增
大、减小√)方向跳,这说明
SJMP
可以在当?/p>
PC
?/p>
-128B~+127?/p>
范围内无条件转移?/p>
1
?/p>
X
?/p>
Y
以补码的形式存放?/p>
20H
?/p>
21H
中,编写程序实现如下函数?/p>
实验程序?/p>
MOV A,20H
JZ ZREO
JB ACC.7,NEG
MOV 21H,#01H
SJMP PEND
ZREO:MOV 21H,A
SJMP PEND
NEG:MOV 21H,#0FFH
PEND:SJMP$
END
结果记录?/p>
1.
将数
89H
存放?/p>
20H
中,运行程序,观察到
21H
单元中的内容?/p>
FF
?/p>
2.
将数
05H
存放?/p>
20H
中,运行程序,观察到
21H
单元中的内容?/p>
01
?/p>
3.
将数
00H
存放?/p>
20H
中,运行程序,观察到
21H
单元中的内容?/p>
00
?/p>
2
?/p>
?/p>
20H~27H
中的压缩
BCD
码拆为两个单字节
BCD
码,
存放在以
2000H
为首地址的外?/p>
RAM
中?/p>
实验程序?/p>
MOV
R0,#20H
MOV
R7,#08H
MOV
DPTR,#2000H
LOOP:ACALL CZ
INC
R0