⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 muld.asm

📁 这是我最近写的一些单片机的简单的模块
💻 ASM
字号:
;muld的功能:双字节二进制无符号数乘法
org 000h
jmp 40h
org 40h
;入口信息:被乘数放在r2,r3中,乘数放在r6,r7中
;出口信息:乘积放在r2,r3,r4,r5中
start:
   mov r2,40h     ;r3 r2
   mov r3,41h     
   mov r6,42h     ;r7 r6
   mov r7,43h
mul1:mov a,r2  ;最低字节的相乘
     mov b,r6
     mul ab
     mov 50h,a;暂存乘积最低位
     mov 51h,b;暂存高8位  
mul2:mov a,r2  ;被乘数低,乘数高
     mov b,r7
     mul ab
     mov 52h,a ;暂存乘积最低位
     mov 53h,b  ;暂存高8位
mul3:mov a,r3   ;被乘数高,乘数低
     mov b,r6
     mul ab
     mov 54h,a  ;暂存乘积最低位
     mov 55h,b  ;暂存高8位
mul4:mov a,r3   ;高8位
     mov b,r7
     mul ab
     mov 56h,a  ;暂存乘积最低位
     mov 57h,b  ;暂存高8位
result:mov r2,50h  ;结果的低字节

       mov a,51h  ;结果的第二字节
       addc a,52h
       addc a,54h
       mov r3,a

       mov a,53h  ;结果的第三字节
       add a,55h
       addc a,56h
       mov r4,a
       mov a,57h ;结果的最高字节
       addc a,#00h
       mov r5,a
jmp $
ret            
                  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -