1.汇编的笔记2:
指令:DA A //当两个BCD码的二进制相加时,相加结果肯定不是BCD的值,通过此指令,结果转换BCD码
过程:#低四位出现非BCD码,或进位(AC=1),低四位+6
#同样高四位一样
汇编程序编译技巧:
- 尽量使用子程序模式
- 子程序保护现场
- 中断处理最好保存状态字(PWM,ACC)(特别时用寄存器计时,要调用不同寄存器组
伪指令:
- ORG 0030H 告诉编译器,要在此地址30H为起始位置(ROM)
- END
- EQU : 伪赋值 DATA EQU P1
- DB 定义字节数据伪地址, 定义地址存放的数据(3FH)与ASCII表('ABC')
DW 定义字地址(双字节)
EXAMPLE: ORG 0010H TABLE1: DB 00H, 01H, 002H, 00003H, 0004H, 500H, 6602H ORG 0010H TABLE2: DW 0001H, 002H, 00003H, 0004H, 500H, 6602H, 0FDH 只读后两位 只读后四位 (0010) 00H 00H (0011) 01H 01H (0012) 02H 00H (0013) 03H 02H (0014) 04H 00H (0015) 00H 03H (0016) 02H 00H (0017) 04H (0018) 05H (0019) 00H (001A) 66H 02H 00H FDH
- DATA 指定数据地址或代码地址 example: add DATA 30H // add的地址为30H
- DS 保留地址 example:ORG 0030H; DS 04H; DB 8EH, 99H; //保留0030H-0033H
- DB DS DW 都用于程序存储器(ROM)调用要