📄 example8.asm
字号:
********************************************
* *
* 找出4项乘积ai*xi(i=1,2,3,4)中的最大值 *
* *
********************************************
.title "example8.asm"
.mmregs
STACK .usect "STACK",10H ;堆栈的设置
.bss a,4 ;为变量分配9个字的存储空间
.bss x,4
.bss y,1
.def start
.data
table: .word 1,5,3,4 ;a1,a2,a3,a4
.word 8,6,7,2 ;x1,x2,x3,x4
.text
start: STM #0,SWWSR ;插入0个等待状态
STM #STACK+10H,SP ;设置堆栈指针
STM #a,AR1
RPT #7
MVPD table,*AR1+
CALL MAX
end: B end
MAX: STM #a,AR1
STM #x,AR2
STM #2,AR3
LD *AR1+,T
MPY *AR2+,A ;第一个乘积在累加器A中
loop: LD *AR1+,T
MPY *AR2+,B ;其他乘积在累加器B中
MAX A ;累加器A和B比较,选出较大者存入A中
BANZ loop,*AR3- ;此循环中共进行3次乘法和比较
STL A,*(y)
RET
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -