一段循环程序结构的代码:
求a[i]*x[i](i=1,2,3,4)中的最大值,程序是照着问老王要的那个书敲进来的。
添加了几句注释:
.title "ex43.asm"
.mmregs
STACK .usect "STACK",10H ;引号中的STACK是段名,对应CMD文件中的一个段
.bss a,4 ;定义一个数组
.bss x,4 ;第二个数组
.def start ;定义一个可被别的模块找到的符号,作为程序入口
.data ;开始放入数据
table .word 1,2,9,4 ;数据修改了一下,主要看能不能跳转
.word 5,6,9,8
.text ;数据定义完毕,开始程序代码
start: STM #0,SWWSR
STM #STACK+10H,SP ;堆栈指针
STM #a,AR1
RPT #7 ;重复7次?放入4个word类型数据?
MVPD table,*AR1+
STM #a,AR1
STM #x,AR2
STM #2,AR3
LD *AR1+,T
MPY *AR2+,A
loop1: LD *AR1+,T ;这里做循环玩
MPY *AR2+,B
MAX A
BANZ loop1,*AR3-
end: B end
.end ;程序结束
CMD文件:
Debug\ex43.obj
-o Debug\ex43.out
-m Debug\ex43.map
-e start ;程序入口
MEMORY
{
PAGE 0:
EPROM:org = 0E00H,len = 100H
PAGE 1:
SPRAM:org = 0060H,len = 20H
DARAM:org = 0080H,len = 100H
}
SECTIONS
{
.text :>EPROM PAGE 0
.data :>EPROM PAGE 0
.bss :>SPRAM PAGE 1
STACK :>DARAM PAGE 1
}
工程代码如下,CCS3.3打开
ex43.rar
再次感谢老王的书。。。。。。。。。。。
我要赚赏金打赏帖 |
|
|---|---|
| 在K230DBOX上实现多时段语音提示功能被打赏¥14元 | |
| 使K230DBOX实现相机持续拍照功能被打赏¥12元 | |
| 基于K230DBOX的文本管理器设计被打赏¥14元 | |
| 基于K230DBOX的彩色画板功能实现被打赏¥15元 | |
| 在K230DBOX上实现音乐播放器功能被打赏¥15元 | |
| NXP MCU系列开发板MCULink固件升级方法【VSCode】被打赏¥28元 | |
| 三分钟快速搭建NXP MCU开发环境(VSCode)被打赏¥22元 | |
| 为遥控小车巧添功能被打赏¥26元 | |
| 【S32K3XX】FlexCAN 模块配置使用被打赏¥30元 | |
| 【S32K3XX】FlexCAN RAM 资源分配整理被打赏¥25元 | |
我要赚赏金
