如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第二讲:指令与编程第三章指令系统及程序设计(P.49)ASM-51指令的格式(P.49)51单片机指令的寻址方式(P.49)立即寻址——(P.49)操作数直接就出现在指令中例:MOVA,#64H;(A)←立即数64HADDA,#05H;(A)←(A)+立即数05H注意:符号“#”表明其后跟的是立即数,立即数——就是数字量本身。直接寻址——(P.50)指令中直接给出了操作数所在单元的地址或名称例:MOVR1,1FH;(R1)←(1FH)MOV30H,4AH;(30H)←(4AH)在本单片机中访问特殊功能寄存器SFR只能采用直接寻址方式的原因:SFR分布在80H~0FFH范围内,而52系列单片机有256字节的片内RAM,其中的80H~0FFH的RAM与SFR所占地址重叠。寄存器寻址——(P.50)从寄存器中读取操作数或存放操作数进寄存器例:MOVA,B;(A)←(B)MOV30H,R0;(30H)←(R0)MOVA,R1;(A)←(R1)寄存器间接寻址——(P.51)寄存器中的内容是一个地址,由该地址单元寻址到所需的操作数存储器配置(片内RAM)变址寻址——(P.52)也称为:基址寄存器+变址寄存器间接寻址相对寻址——(P.52)当前PC值加上指令中规定的偏移量rel,构成实际的操作数地址例:SJMPrel操作:跳转到的目的地址=当前16位PC值+rel位寻址——(P.53)指令中直接给出了操作数所在的位地址。例:CLRP1.0;(P1.0)←0SETBACC.7;(ACC.7)←1CPLC;(C)←NOT(C)片内RAM中有128个位可按位寻址的位,位地址:00H—7FH分布在:20H—2FH单元;另外,在SFR中还有92个位可按位寻址位寻址——(P.53)指令中直接给出了操作数所在的位地址。例:CLRP1.0;(P1.0)←0SETBACC.7;(ACC.7)←1CPLC;(C)←NOT(C)MCS-51指令集MCS-51指令集(五大类功能)P.54页内部存储器间传送:(MOV——16条)外部数据存储器与累加器间传送:(MOVX——4条)程序存储器向累加器传送:(MOVC——2条)数据交换:(XCH,XCHD,SWAP——5条)堆栈操作:(PUSH,POP——2条)Acc累加器数据传送类指令(续)P.58程序存储器向累加器传送指令(2条):MOVCA,@A+DPTRMOVCA,@A+PC——通常称为查表指令,寻址方式属:“基址寄存器+变址寄存器间接寻址”数据传送类指令(续)堆栈操作指令(2条):——P.59例如:设(A)=7BH;(35H)=11H并且知道(SP)=60HPUSHACC;(61H)#7BHPUSH35H;(62H)(35H)即:(62H)#11H(二)算术运算类指令(6种/24条)P.54(二)算术运算类指令(续)P.55(二)算术运算类指令(续)P.57(二)算术运算类指令(续)P.60若(A)3~09或(AC)=1则(A)3~0(A)3~0+6;若(A)7~49或(CY)=1则(A)7~4(A)7~4+6;若(A)3~09或(AC)=1则(A)3~0(A)3~0+6;若(A)7~49或(CY)=1则(A)7~4(A)7~4+6;(三)逻辑运算及移位类指令(5种/24条)——P.61逻辑运算及移位类指令(续)P.61逻辑运算指令的常见用法逻辑运算及移位类指令(续)P.64(四)控制转移类指令(4种/17条)P.65控制转移类指令(续)P.65-67控制转移类指令(续)P.67-70条件转移(续)控制转移类指令(续)P.68(五)位操作类指令(17条)P.71位操作类指令(续)P.72位操作类指令(续)P.74任务一:控制一盏灯点亮任务一:控制一盏灯点亮小结:MCS-51指令集(五大类功能)内部存储器间传送:(MOV——16条)外部数据存储器RAM与累加器间传送:(MOVX——4条)程序存储器ROM向累加器传送:(MOVC——2条)数据交换:(XCH,XCHD,SWAP——5条)堆栈操作:(PUSH,POP——2条)(二)算术运算类指令(6种/24条)(三)逻辑运算及移位指令(5种/24条)(四)控制转移类指令(4种/17条)(五)位操作类指令(4种17条)汇编语言与简单程序设计汇编语言程序设计中的数汇编语言编程基本规则汇编程序的伪指令P.137汇编程序的常用伪指令汇编程序的常用伪指令(续)程序的顺序/分支/循环三种基本结构ORG2000HVAREQU30H;定义“X”缓存单元FUNCEQU31H;定义“Y”缓存单元BR1:MOVA,VAR;取出变量“X”JZCOMP;若=0,就赋0JN