📄 修改后除法程序.txt
字号:
;蓝色的水 修改
;本例中被除数仅用到: R6,R7
;本例中除数仅用到: R9
;本例中商值仅用到: R14,R15
;余数值退出时在原被除数中存放
DIV16 MACRO
PUSH R10
PUSH R5
PUSH R0
CLR R10
CLR R14
CLR R15
CP R9,#00H
JR NE,_ST
LD R0,#0FFH
JR _BACK
_ST: LD R0,#10H
_LOOP: RCF
RLC R15
RLC R14
RCF
RLC R7
RLC R6
RLC R10
PUSH R10
JR C,_OV
SUB R10,R9
JR C,_POP
_LOOP_OV: OR R15,#01H
POP R5
JR _SHF
_OV: LD R5,#255 ;添加了对于移位后,有数溢出的处理
SUB R5,R9 ;
INC R5 ;因为不知道如何把那个256表达出来,所以就在这里自增了一个R5。
ADD R10,R5 ;其实可能置位一个C,然后ADC R10更贴切点。不过效果是一样的。
JR _LOOP_OV ;
_POP: POP R10
_SHF: DEC R0
JR NZ,_LOOP
LD R7,R10
_BACK: POP R0
POP R5
POP R10
.ENDM
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -