双字节二进制有符号数除法(补码)

双字节二进制有符号数除法(补码),第1张

双字节二进制有符号数除法(补码)

入口条件:被除数在R2、R3、R4、R5中,除数在R6、R7中。
出口信息:OV=0时商在R2、R3中,OV=1时溢出。
影响资源:PSW、A、B、R1~R7 堆栈需求: 5字节


DIVS: LCALL MDS
PUSH PSW
LCALL DIVD
JNB OV,DVS1
POP ACC
RET
DVS1: POP PSW
MOV R4,#0
MOV R5,#0
MDSE: JB F0,MDS2
CLR OV
RET
MDS: CLR F0
MOV A,R6
JNB ACC.7,MDS1
CPL F0
XCH A,R7
CPL A
ADD A,#1
XCH A,R7
CPL A
ADDC A,#0
MOV R6,A
MDS1: MOV A,R2
JNB ACC.7,MDS3
CPL F0
MDS2: MOV A,R5
CPL A
ADD A,#1
MOV R5,A
MOV A,R4
CPL A
ADDC A,#0
MOV R4,A
MOV A,R3
CPL A
ADDC A,#0
MOV R3,A
MOV A,R2
CPL A
ADDC A,#0
MOV R2,A
MDS3: CLR OV
RET

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2430666.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-02
下一篇 2022-08-02

发表评论

登录后才能评论

评论列表(0条)

保存