📄 4214.asm
字号:
mpy16s: ;16位*16位带符号乘法
clr r21 ;清结果和进位位
sub r20,r20
ldi r22,16 ;初始化循环计数器
m16s_1:
brcc m16s_2 ;进位位为 0 ,跳至m16s-2
add r20,r16 ;进位位为 1
adc r21,r17 ;结果3字节2字节加被乘数
m16s_2:
sbrc r18,0 ;如果当前位置位
sub r20,r16 ;从结果字节2中减被乘数低字节
sbrc r18,0 ;如果当前位置位
sbc r21,r17 ;从结果字节2中减被乘数低字节
asr r21 ;算术右移结果和乘数
ror r20
ror r19
ror r18
dec r22 ;循环计数器减 1
brne m16s_1 ;如没完成,再循环
ret
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -