使用指令累加实现计时,程式中连续出现相同指令时,如何处理比较好?
程式中连续出现相同指令处理:
1. 当程式中连续出现2 个的NOP 指令时,使用一条JMP $+1 指令代替两条NOP 指令能够节省1 个ROM 空间(其中“$”代表当前位址)。
2. 如果程式中连续出现多条相同的指令,则可以使用“REPEAT”宏:
下面使用该宏后产生的LIST 档片段:
行号 Rom 位址 指令编码 源代码 注释
71 00002B REPEAT 8
72 00002B JMP $+1
73 00002B ENDM
74 00002B 802C(2) JMP $+1
75 00002C 802D(2) JMP $+1
76 00002D 802E(2) JMP $+1
77
00002E
802F(2) JMP $+1
78 00002F 8030(2) JMP $+1
79 000030 8031(2) JMP $+1
80 000031 8032(2) JMP $+1
81 000032 8033(2) JMP $+1
常数“8”代表重复的次数,重复的内容是REPEAT 和ENDM 之间的指令。
1. 当程式中连续出现2 个的NOP 指令时,使用一条JMP $+1 指令代替两条NOP 指令能够节省1 个ROM 空间(其中“$”代表当前位址)。
2. 如果程式中连续出现多条相同的指令,则可以使用“REPEAT”宏:
下面使用该宏后产生的LIST 档片段:
行号 Rom 位址 指令编码 源代码 注释
71 00002B REPEAT 8
72 00002B JMP $+1
73 00002B ENDM
74 00002B 802C(2) JMP $+1
75 00002C 802D(2) JMP $+1
76 00002D 802E(2) JMP $+1
77
00002E
802F(2) JMP $+1
78 00002F 8030(2) JMP $+1
79 000030 8031(2) JMP $+1
80 000031 8032(2) JMP $+1
81 000032 8033(2) JMP $+1
常数“8”代表重复的次数,重复的内容是REPEAT 和ENDM 之间的指令。