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