Stc8硬件乘除法器_16位除16位_汇编

;-----------------------------------------------MDU16硬件乘除法器相关
MD3 EQU 0FCF0H ;第一操作数: MD3MD2MD1MD0 见STC8G资料P478…该部分RAM在扩展区
MD2 EQU 0FCF1H
MD1 EQU 0FCF2H
MD0 EQU 0FCF3H

MD5 EQU 0FCF4H ;第二操作数: MD5MD4
MD4 EQU 0FCF5H

ARCON EQU 0FCF6H ;模式控制寄存器
OPCON EQU 0FCF7H ;操作控制寄存器
;-----------------------------------------------

;-------------------------------------
; 16位÷16位 硬件除法 (STC8部分型号)
; 入口:被除数R7R6,除数R5R4
; 出口:商R7R6,余数R5R4
;-------------------------------------
MDU_16_DIV_16:

  ORL PSW2,#80H  ;高位置1:允许访问XFR (PSW2的BIT7是EAXFR-扩展区特殊功能寄存器XFR访问控制:0-禁止访问XFR,1-使能访问XFR)  
 
   MOV DPTR,#MD1   ;被除数高字节R7送MD1
   MOV A,R7
   MOVX @DPTR,A
 
   MOV DPTR,#MD0   ;被除数低字节R6送MD0
   MOV A,R6
   MOVX @DPTR,A

   MOV DPTR,#MD5   ;除数高字节R5送MD5
   MOV A,R5
   MOVX @DPTR,A
 
   MOV DPTR,#MD4   ;除数低字节R4送MD4
   MOV A,R4
   MOVX @DPTR,A

   MOV DPTR,#ARCON   ;设置成16除16位模式
   MOV A,#10100000B  ;101(5)
   MOVX @DPTR,A
 
   MOV DPTR,#OPCON   ;启动运算
   MOV A,#00000001B  ;
   MOVX @DPTR,A

WAIT: MOVX A,@DPTR ;等待运算完成
ANL A,#00000001B
JNZ WAIT

   MOV DPTR,#MD1   ;商高字节MD1送R7
   MOVX A,@DPTR
   MOV R7,A       
 
   MOV DPTR,#MD0   ;商低字节MD0送R6
   MOVX A,@DPTR
   MOV R6,A

   MOV DPTR,#MD5   ;余数高字节MD5送R5
   MOVX A,@DPTR
   MOV R5,A
 
   MOV DPTR,#MD4   ;余数低字节MD4送R4
   MOVX A,@DPTR
   MOV R4,A

  ANL PSW2,#01111111B  ;高位置0-禁止访问XFR

RET
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值