当前位置:文档之家› MSP汇编语言介绍

MSP汇编语言介绍

MSP430汇编语言介绍
伺服驱动部 何国松 2011.4.15
一、单片机基本结构
CPU:由运算器,控制器和寄存器组成,精 简指令集(RISC);
存储器:存储程序,数据以及外围模块的运 行控制信息(PR和DR);
外围模块:经过数据总线、地址总线、中断 服务及请求线与CPU相连(时钟模块,看门 狗,定时器,串口,ADC等)。
6. MOV #2345H,R5 ;寄存器中的值为2345H
SXT R5
;执行后R5的内容为0045H,因为低字节
符号位为0
MOV #2388H,R5 ;寄存器中的值为2388H
SXT R5
;执行后R5的内容为FF88H,因为低字节
符号位为1
(SXT:扩展符号位,低位字节符号扩展到高位字节)
数据运算指令
减法指令 1. SUB #1234H,R5;将R5中数据
减去立即数1234H 2. SUBC;从目的操作数中减去源操
作数和借位;用于多字节运算
3. SBC;从目的操作数中减去借位 4. DEC;目的操作数-1,多用于修改
地址指针和循环计数
5. DECD;目的操作数-2 6. CMP R5,R6;R5和R6是否相等
二、总线(bus)
1. 数据总线(DB):用于CPU和存储器之间, 以及CPU和接口电路之间传送数据,双向、 位数相同;
2. 地址总线(AB):用于计算机访问存储器 和外部设备,传输CPU发出的地址信息单 向、总线位数决定可访问单元容量;
3. 控制总线(CB):传送CPU发出的控制信 号,传送外部设备输入到CPU的信号。
三、指令系统
➢ 机器码(二进制编码),只有0,1串组成, 不易理解记忆,单片机用一些助记符(如 MOV,ADD等)代替操作码,用符号代替 操作数编写源程序,形成汇编语言;
➢ MSP430的内核结构采用精简指令集 (RISC)设计,指令分为硬件实现的内核 指令和基于现有硬件结构的具有更高效率的 模拟指令 。
ALU
RDR
PLA
AB
DB
存储器
五、CISC和RISC的区别
CISC:具有单一处理单元,外部存储器, 一个相对较小的寄存器集以及几百条不同的 指令。编程容易代码量少;处理器本身结构 复杂,解码单元迟缓,硅片面积大耗电;
RISC:具有较大的寄存器组,减少处理器 访问主存储器的次数。更小更简单的指令解 码单元,具有较高的指令执行速度,把硅片 的复杂性转移到语言编译器里,简化硬件, 降低处理单元的尺寸和功耗。
位操作指令
1. CLRC;清除进位位,字指令 2. CLRN;清除负位 3. CLRZ;清除零位 4. SETC;设置进位位,置1 5. SETN;设置负位 6. SETZ;设置零位 7. DINT;禁止可屏蔽中断将状态寄存器GIE置0 8. EINT;使能可屏蔽中断
JEQ LABEL1;如果是,程序跳转 7. TST;测试目的操作数,比较目的操
作数与0,根据结果设置状态位
逻辑操作指令
1. AND R5,~0x01;将R5最低位置0 2. BIC #0FC00H,LEO;清LEO的高6位(将源操作数求反后和
目的操作数逻辑与) 3. BIS #0F000H,R5;R5的高4位置1 (源操作数和目的操作数
加法指令 1. ADD #10,R5;将10加至R5
低位字节
2. ADDC;带进位C的加法,主要 用于多字节运算
3. ADC &246H;将进位C加至绝 对地址246H上的内容
4. DADD;将十进制的进位位和源 操作数加至目的操作数
5. DADC;加上十进制的进位位 6. INC;目的操作数+1 7. INCD;目的操作数+2
逻辑或) 4. BIT #0100H,R7;测试R7的第8位是否为1 5. XOR R5,R5;将R5清零
XOR #0100H,R5;将R5的第8位取反 6. INV;目的操作数求反 7. RLA;算数左移,低位补0 8. RLC;通过进位位左移,标志位C送到操作数最低位 9. RRA;算数右移,符号位不变 10. RRC;通过进位位右移,标志位C移入MSB,LSB移入C
六、存储器
地址
1100
内容
。 。 。
1100单元
1101
1101单元


1102
1102单元

1103
1103单元



。 。
AB
11FF
11FF单元
DB
。 。 。
CPU来的 CB
控制信号
控制
MSP430存储空间结构
MSP430的存储器结构采用 了统一编址方式,可以使 对外围模块寄存器的操作 象普通的RAM单元一样方 便、灵活。MSP430F169 系列的存储空间为64KB, 具有很强的系统外围模块 扩展能力。
内存单元0FA00H 5678H
执行后
R10
0A125H
R11
0FA00H
内存单元0A123H 1234H
内存单元0FA00H 1234H
汇编指令集中常用符号和缩写
八、MSP430指令系统
精简指令集(RISC)设计;
共有51条指令,包含27条硬件执行的内核 指令和24条基于现有硬件结构的高效率的 仿真指令;
数据传送类指令
1. MOV #234H,R5 ;将立即数234H传送到R5寄存器
2. CLR R5
;将R5寄存器清零
3. PUSH SR
;保存状态寄存器,堆栈指针-2
4. POP SR
;从堆栈中恢复状态寄存器,堆栈指针+2
5. MOV #2345H,R5 ;寄存器中的值为2345H
SWPB R5
;执行后R5的内容为4523H
四、CPU的结构和功能
运算器(ALU):对二进制数进行 加、减、乘、除等算数运算和与、 或、非等逻辑运算; 寄存器:一般包括通用寄存器(暂 存数据,中间结果和地址)和特殊 功能寄存器(PC、SP、AR、DR和 SR等); 控制器:主要由指令寄存器IR,译 码器ID和操作控制器PLA等组成, 在PC、AR和DR的配合下控制各部 件协调工作。
七、寻址方式
例:间接增量寻址
汇编源程序 MOV @R10+,0(R11)
ROM中的内容 MOV @(R10)+,0(R11)
将地址为R10的单元中的内容移动到地址为R11的单元中, 执行后R10内容变为R10+2,R11本身在执行前后不变。
执行前
R10
0A123H
R11
0FA00H
内存单元0A123H 1234H
相关主题