📄 muld.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 + -