📄 chuf.asm
字号:
;*** 编制计算除法运算的程序段。其中|被除数|<|除数|,商为小数***
.title "chuf.asm"
.mmregs
.def start,_c_int00
.bss num,1
.bss den,1
.bss quot,1
.data
table .word 4*32768/10 ;0.4
.word -8*32768/10 ;-0.8
.text
_c_int00
b start
nop
nop
start:
STM #num,AR1
RPT #1
MVPD table,*AR1+ ;传送2个数据至分子、分母单元
STM #den,AR1
LD *AR1-,16,A ;将分母移到累加器A(31-16)
MPYA *AR1+ ;(num)*(A(32-16))->B,获取商的符号
;(在累加器B中)
ABS A ;分母取绝对值
STH A,*AR1- ;分母绝对值存回原处
LD *AR1+,16,A ;分子->A(32-16)
ABS A ;分子取绝对值
RPT #14 ;15次减法循环,完成除法
SUBC *AR1,A
XC 1,BLT ;如果B〈0(商是负数)则需要变号
NEG A
STL A,*(quot) ;保存商
.END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -