ZKX's LAB

51单片机(汇编)怎么实现双字节除以单字节的除法运算,求程序带注释,谢谢! 双字节除法汇编原理

2021-04-04知识3

谁能给我讲解下汇编的多字节乘除法啊?怎么看都看不懂! TH1 TL1中,有 16 位二进制数,变换成十进制,即:0~65535。共五位,万、千、百、十、个。变换程序,就是下面这段:MOV R0,TL1MOV R1,TH1CLR AMOV R2,AMOV R3,AMOV R4,AMOV R5,#16LOP:CLR CMOV A,R0RLC AMOV R0,AMOV A,R1RLC AMOV R1,AMOV A,R4ADDC A,R4DA AMOV R4,AMOV A,R3ADDC A,R3DA AMOV R3,AMOV A,R2ADDC A,R2MOV R2,ADJNZ R5,LOP万、千、百、十、个,分解送到30H、31H、32H、33H、34H。就是下面这段:MOV A,R4MOV B,#16DIV ABMOV 43H,AMOV 44H,BMOV A,R2MOV 40H,AMOV A,R3MOV B,#16DIV ABMOV 41H,AMOV 42H,B把个位(30H单元)放弃,就是除以10。把30H、31H、32H、33H,乘以7。就是下面这段:MOV A,43HMOV B,#7MUL ABMOV A,BADD A,34HMOV 34H,AMOV A,42HMOV B,#7MUL ABADD A,43HADD A,34HMOV 34H,AMOV A,BADD A,33HMOV 33H,AMOV A,41HMOV B,#7MUL ABADD A,42HADD A,33HMOV 33H,AMOV A,BADD A,32HMOV 32H,AMOV A,40HMOV B,#7MUL ABADD A,41HADD A,32HMOV 32H,AMOV A,BADD A,31HADD A,40HMOV 31H,A把30H、31H、32H、33H,再乘以10。就是剩下的部分。大致的流程,就是这样。程序正确。

51单片机(汇编)怎么实现双字节除以单字节的除法运算,求程序带注释,谢谢! 连续的使用减法,即可求出:被除数中,含有多少个除数。商,就是减法的次数。我的空间里面,有现成的程序。

51单片机汇编程序实现双字节除法运算(除数是单字节) R2R1÷R0 51单片机汇编程序实现双字节除法运算(除数是单字节)R2R1÷R0 无符号除法运算~其中除数是255,即R0=0FFH 被除数放在两个连续的字节单元,例如20H21H,高位在前地位在后~请。

#双字节除法汇编原理

随机阅读

qrcode
访问手机版