No.99526 作者:yishan2050 邮件:yishan250@126.com ID:57785 登陆:10次 文章数:11篇 最后登陆IP:58.30.86.96 最后登陆:2008/6/1 19:11:37 注册:2006/8/3 21:43:45 财富:144 发帖时间:2006/11/12 11:42:07 发贴者IP:222.76.49.32 标题:yishan2050:[求助]多字节除法的原理 摘要:No.99526[求助]多字节除法的原理 我刚从事单片机这一行没多久,平时用C编程,最近在看一个程序,汇编的,不胜头痛。其中有一个多字节无符号数除法的函数,看不懂。 主要是不知道程序的原理和流程,哪位大侠给指点一下。 程序如下: ;标号: DV31 功能:三字节二进制无符号数除以单字节二进制数 ;入口条件:被除数在R3、R4、R5中,除数在R7中。 ;出口信息:OV=0 时,双字节商在R4、R5中,OV=1 时溢出。 ;影响资源:PSW、A、B、R2~R7 堆栈需求: 2字节 DV31: CLR C MOV A,R3 ;R3被除数的最高字节 SUBB A,R7 ;?为什么要减,这样减的意义是什么 JC DV30 ;如果被除数的最高字节小于除数,则跳转。 SETB OV ;商溢出 RET DV30: MOV R2,#10H ;求R3R ......
>>返回讨论的主题
|
老古网执行:16毫秒 最大:7276毫秒 查询6次
|
|