除法?

wuchunling 2003-06-12 10:01:26
双字节无符号二进制数(16进制)除以单字节二进制无符号数怎么除?
程序怎样写?请教!!
...全文
48 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
jack2004 2003-06-13
  • 打赏
  • 举报
回复
AVR AT90S8535CPU 16位/8位无符除法
程序功能:(r15:r16)/r17->r16......r15(余数)
该程序是交寄存器对r15:r16的值与寄存器r17的值相除.若T=0,商为8位送到寄存器r16,余数送r15;若T=1,商超过8位,溢出无运算结果.
源程序:
d16v8u:
cp r15,r17 ;被除数高字节>除数
brcc ddd ;结果溢出
ldi r18,8 ;初始化循环计数器
rol r16 ;左移余数
aaa:
bst r15,7 ;被除数高位存到T位
rol r15 ;左移被除数高字节
sub r15,r17 ;r15减r17
brts bbb
brcc bbb
add r15,r17 ;结果为负,则r15加r17
clc ;清进位位
rjmp ccc
bbb: sec ;够减,置进位位
ccc: rol r15 ;左移余数
dec r18 ;减计数器
brne aaa ;没完成再循环
clt
ret
ddd: set
ret
就是不知道你用的是什么汇编语言,如果是计算机汇编,那你根据代码改改指令就行了,如果是其它的CPU,也一样改一下指令就行了.

27,375

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧