📄 4222.asm
字号:
div8s: ;8位/8位带符号除法
mov r14,r16 ;确定结果符号
eor r14,r17
sbrc r17,7 ;判除数的正负
neg r17 ;为负,除数取补
sbrc r16,7 ;判被除数的正负
neg r16 ;为负,被除数取补
sub r15,r15 ;清余数和进位
ldi r18,9 ;初始化循环计数器
d8s_1:
rol r16 ;左移结果(被除数)
dec r18 ; 减计数器
brne d8s_2 ;不为 0 ,跳至d8s_2
sbrc r14,7 ;判结果的正负
neg r16 ;为负,结果取补
ret
d8s_2:
rol r15 ;左移余数(被除数移到除数)
sub r15,r17 ;余数-除数
brcc d8s_3 ;够减,跳至d8s_3
add r15,r17 ;不够减,再加除数
clc ;清进位位
rjmp d8s_1
d8s_3:
sec ;置进位位
rjmp d8s_1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -