📄 zhao9g.asm
字号:
****************************************
* |被除数|>=|除数|,商为整数 *
* 计算0.66/(-0.33)的值 *
****************************************
.title "zhao9g.asm"
.mmregs
STACK .usect "STACK",10H
.bss num,1 ;分子
.bss den,1 ;分母
.bss quot,1 ;商
.data
table: .word 66*32768/100 ;0.66-->0x544A
.word -33*32768/100 ;-0.33-->0xD5C3
.def start
.text
start: LD #0020H,DP ;指定数据页指针
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,A ;将分子移到累加器A(32~16)
ABS A ;分子取绝对值
RPT #15 ;16次减法循环,完成除法
SUBC @den,A
XC 1,BLT ;如果B<0(商为负数),则需要变号
NEG A
STL A,@quot ;保存商
end: B end
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -