四字节除以三字节无符号数除法程序.doc_第1页
四字节除以三字节无符号数除法程序.doc_第2页
四字节除以三字节无符号数除法程序.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

四字节除以三字节无符号数除法程序;看到网上有人求“四字节除以三字节”的子程序,随手把我以前写的程序改了改,发表在下面。;自我感觉不错,自认为是一个能够完成该功能的,_最_简_短_的程序。;程序如下,呵呵,献丑了。;= ORG 0000H LJMP START ORG 0030H ;主程序开始START: MOV R7, #05H ;设定一个32位的被除数 MOV R6, #0F5H ;05 F5 E0 FFH MOV R5, #0E0H ;=99 999 999 MOV R4, #0FFH; MOV R3, #69H MOV R2, #98H ;设定一个24位的除数 MOV R1, #96H ;98 96 80H MOV R0, #80H ;=10 000 000 CALL DIV_32_24 ;调用除法子程序 SJMP $ ;商,可以用计算器验证:00 00 00 09H ;余数为:98 96 7FH = 9 999 999;*;* 四字节/三字节无符号数除法程序 *;* 已经测试通过 *;*; R7R6R5R4 / R2R1R0 - R7R6R5R4.32H31H30H;被除数 R7R6R5R4, 除数 R2R1R0; 商 R7R6R5R4, 余数 32H31H30H;因为数字较大, 本程序使用了:A、B、33H 和 32H 31H 30H;对这些单元的保护工作, 应该在主程序中进行;-DIV_32_24: CLR A MOV 30H, A MOV 31H, A MOV 32H, A MOV R3, #32 ;循环计数;- CLR CDIV_LOOP: CALL SL_R7_R4 CALL SL_32_30 ;(32H31H30H - R7R6R5R4 = R2R1R0) 32H31H30H -= R2R1R0; MOV A, 30H SUBB A, R0 MOV 33H, A MOV A, 31H SUBB A, R1 MOV B, A MOV A, 32H SUBB A, R2 JNC DIV_2 JNB F0, CPL_C ;不够减就不保存差 CPL CDIV_2: MOV 30H, 33H MOV 31H, B MOV 32H, ACPL_C: CPL C DJNZ R3, DIV_LOOP;-SL_R7_R4: MOV A, R4 RLC A MOV R4, A MOV A, R5 RLC A MOV R5, A MOV A, R6 RLC A MOV R6, A MOV A, R7 RLC A MOV R7, A RET;-SL_32_30: MOV A, 30H RLC A MOV 30H, A MOV A,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论