📄 十六位除八位.txt
字号:
.code
.public _DIV_16_8
_DIV_16_8:.proc
PUSH R4,R5 TO [SP]
BP = SP
BP += 0x04
// R1 = [BP++] //得到第一个参数
R2 = [BP] //得到第二个参数
R2 = R2 LSL 4
R2 = R2 LSL 4
R3 = 8
DIV_16_1:
R4 = 0x0000
R4 = R4 LSL 4 //
R1 = R1 ROL 1 //R1寄存器循环左移一位
R4 = 0x0000
R4 = R4 ROL 4
test R4,0x0001
JNZ DIV_16_3
R1 = R1-R2
JAE DIV_16_2 //JAE:无符数,大于或等于
R1 = R1+R2
R3-=1
JNZ DIV_16_1
POP R4,R5 FROM [SP]
RETF
DIV_16_3:
R1 = R1-R2
DIV_16_2:
R1+=1
R3-=1
JNZ DIV_16_1
POP R4,R5 FROM [SP]
RETF
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -