2576|0

6366

帖子

4917

TA的资源

版主

楼主
 

MSP430最常用语句格式范例(汇编格式) [复制链接]

;----------------------------------------------------------------------------------
;常量定义
;----------------------------------------------------------------------------------
year equ 2004 ;当前的年月日
month equ 6 ;当写入FLASH时,需要与当前的实际
;---------------------------------------------------------------------------------
;RAM 变量定义
;---------------------------------------------------------------------------------
ram1 equ 200h ;
ram2 equ 202h ;
;---------------------------------------------------------------------------------
;程序段
;---------------------------------------------------------------------------------
_asm_main
mov ram1, R15 ; 直接访问equ定义的数据,并将flag1作为地址使用
rla R15 ; ram1*2
add R15,PC
jmp seg1
jmp seg2
jmp seg3
jmp seg4
seg1
mov.b #CAEX+CARSEL+CAREF0+CAON,&CACTL1
; +Comp = 0.25*Vcc ,CA on 立即数变量用#代替,目标寄存器用&,表示将前面的立即数写到该地址寄存器中
mov.b #P2CA0+CAF,&CACTL2
mov.w #TASSEL1+MC1+TACLR,&TACTL
call #Charge ; 调用某个函数用call,被调用函数名字前需要加#
jmp end ; 跳转到某个函数用jmp,后面直接跟跳转到的函数名字
seg2
bic #CCIE, &CCTL0 ; CCIE CCTL0均是头文件中define宏定义的变量,当立即数使用加#,当作地址使用加&
bic.b #04fh, &P1DIR ; 其实CCTL0 P1DIR宏定义时都指的是该寄存器的地址
bis.b #04fh, &CAPD
mov &CCR1,R15 ; 宏变量如CCR1无论是作为目标操作数还是源操作数,如取出该地址的数都得加&
sub ram2,R15 ; 直接将内存地址ram2指向的内容读出来,放到r15中
mov R15, ram3 ; equ定义的ram3作为地址,直接使用
call #Charge ; 调用charge函数
jmp end
seg3
……………………
charge
mov #year,R5 ; 将equ定义的year作为立即数使用时,需要在前面加#
mov #month,R6
rla R6
mov #year, Year ;year,Year都是用equ定义的常量,前者作为立即数,后者作为内存地址
mov #month, Month
end
nop

总结:define定义的常量,作为立即数时需要加#,作为地址时需要加&
equ定义的常量,作为立即数时需要加#,作为地址时不需要加额外符号。
调用一个函数用call,后面的函数段名必须加#,
如果用jmp跳转程序,则后面的函数段名不必加#
 
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表