>
首 页文章中心单片机论坛电脑援救中心杀毒软件下载电子元件速查集成电路速查客户留言下载中心商品展示频道繁體中文
设为首页
加入收藏
联系我们
您当前的位置:中国单片机网 -> 经典软件 -> 文章内容 退出登录 用户管理
栏目导航
· 经典软件 · 单片机讲座
· 配套实验板 · ARM、AVR
· 电源技术 · 称重技术
· 硬件与电路 · 资料下载大全
· 轻松一刻 · 胡老师专栏
· l
热门文章
· 金华广播电视大学(金..
· 金华广播电视大学(金..
· [组图] 三极管s8050管..
· [图文] 324
· [组图] 326
· [组图] 51系列单片机..
· dac0832中文资料引脚..
· 金华电大2008年秋季..
· [组图] 三极管9013管..
· 电动机书下载大全
相关文章
· 双字节十六进制整数..
· 双字节十六进制小数..
· 双字节十六进制小数..
· 双字节BCD码整数..
· 双字节BCD码小数..
· 双字节BCD码小数..
· 双字节BCD码小数..
· 单字节十六进制数转..
· 双字节二进制有符号..
· 双字节二进制无符号..
双字节二进制无符号数除法.asm
作者:本站  来源:本站整理  发布时间:2007-5-9 23:50:50  发布人:admin

减小字体 增大字体

双字节二进制无符号数除法.asm

;入口条件:被乘数在R2、R3中,乘数在R6、R7中。
;出口信息:乘积在R2、R3、R4、R5中。
;影响资源:PSW、A、B、R2~R7    堆栈需求:  4字节

MULS: MOV R4,#0              ;清零R4R5
 MOV R5,#0
 LCALL MDS             ;计算结果的符号和两个操作数的绝对值
 LCALL MULD          ;计算两个绝对值的乘积
 SJMP MDSE           ;用补码表示结果
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
MULD: MOV A,R3 ;计算R3乘R7
 MOV B,R7
 MUL AB
 MOV R4,B ;暂存部分积
 MOV R5,A
 MOV A,R3 ;计算R3乘R6
 MOV B,R6
 MUL AB
 ADD A,R4 ;累加部分积
 MOV R4,A
 CLR A
 ADDC A,B
 MOV R3,A
 MOV A,R2 ;计算R2乘R7
 MOV B,R7
 MUL AB
 ADD A,R4 ;累加部分积
 MOV R4,A
 MOV A,R3
 ADDC A,B
 MOV R3,A
 CLR A
 RLC A
 XCH A,R2 ;计算R2乘R6
 MOV B,R6
 MUL AB
 ADD A,R3 ;累加部分积
 MOV R3,A
 MOV A,R2
 ADDC A,B
 MOV R2,A
 RET
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

[] [返回上一页] [打 印] [收 藏]
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论…]
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 管理登录
Copyright © 2002-2020 www.chinadpj.com. All Rights Reserved. 浙ICP备06040125号
Powered by:NewAsp SiteManageSystem Version 2.1 SP1 1030