📄 memory501.asm
字号:
***********************
*date 07-9-20
*purpose
* 数据初始化
*auhtor xcs
**********************
.title "operation01.asm"
.global start
.mmregs
.bss x,5
.bss y,1
.bss z,9
.bss mya,1
.text
.data
table: .word 1,2,3,4,5
.text
start:
stm #0,swwsr
;----------move data
stm #x,ar1
rpt #4
stm #2,*ar1+
;----------move data--------
;---------copy data
stm #x,ar1
stm #z,ar2
stm #7h,ar3
copys:
ld *ar1+,T ; 将ar1指向单元内容读入T寄存器,ar1的值+1
st T,*ar2+ ; 将T寄存器的值转存到ar2指向的目的地址,ar2的值+1
; stm *ar1+,*ar2+
banz copys,*ar3- ; ar3的值-1,循环计数不等于0则循环
;---------copy data
;rpt #2;
; mvdd *ar2+,*ar3+ ;mvdd *ar1+,*ar2+
;--------------------ini is over
;-------add--sub--- z= x+y -mya---
stm #3,@mya
ld @x,a
add @y,a
sub @mya,a
stl a,@z
;-------mpy--- z = m*x+y ----------
ld @mya,t
mpy @x,a
add @y,a
stl a,@z
;------y=x1*a1+x2 *a2
ld @x,t
mpy @mya,b
ld @y,t
mac @x+2,b
;------------rept block--- 3个x 都+1------
LD #1,B
STM #2,BRC
STM #x,AR4
RPTB next-1
ADD *AR4,B,A
STL A,*AR4+
next: LD #0,B
;-------------------
stm #x,ar5
ld *ar5+,t
mpy @mya,b
ld @y,t
mac *ar5+,b
;---------------------
;---------y = x1+ x2+x3+x4+x5
stm #x,ar3
stm #4,ar4
ld #0,a
loopadd:
add *ar3+,a
banz loopadd,*ar4-
stl a,@y
xh:
b xh ; 空循环
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -