- 第3章(8):单片机硬件系统MCS51指令系统
- 7].堆栈操作类指令(2条)
这4类指令的作用是把直接寻址单元的内容传送到堆栈指针SP所指的单元中,以及把SP所指单元的内容送到直接寻址单元中。这类指令只有两条,下述的第一条常称为入栈操作指令,第二条称为出栈操作指令。需要指出的是,单片机开机复位后,(SP)默认为07H,但一般都需要重新赋值,设置新的SP首址。入栈的第一个数据必须存放于SP+1所指存储单元,故实际的堆栈底为SP+1所指的存储单元。
PUSH data ;(SP)+1→(SP),(data)→(SP)堆栈指针首先加1,直接寻址单元中的数据送到堆栈指针SP所指的单元中
POP data ;(SP)→(data)(SP)-1→(SP),堆栈指针SP所指的单元数据送到直接寻址单元中,堆栈指针SP再进行减1操作
[8].交换指令(5条)
这5条指令的功能是把累加器A中的内容与源操作数所指的数据相互交换。
XCH A,Rn ;(A)←→(Rn)累加器与工作寄存器Rn中的内容互换
XCH A,@Ri ;(A)←→((Ri))累加器与工作寄存器Ri所指的存储单元中的内容互换
XCH A,data ;(A)←→(data)累加器与直接地址单元中的内容互换
XCHD A,@Ri ;(A3-0)←→((Ri)3-0)累加器与工作寄存器Ri所指的存储单元中的内容低半字节互换
SWAP A ;(A3-0)←→(A7-4)累加器中的内容高低半字节互换
[9]. 16位数据传送指令(1条)
这条指令的功能是把16位常数送入数据指针寄存器。
MOV DPTR,#data16 ;#dataH→(DPH),#dataL→(DPL)16位常数的高8位送到DPH,低8位送到DPL算术运算指令共有24条,算术运算主要是执行加。减。乘。除法四则运算。另外MCS-51指令系统中有相当一部分是进行加。减1操作,BCD码的运算和调整,我们都归类为运算指令。虽然MCS-51单片机的算术逻辑单元ALU仅能对8位无符号整数进行运算,但利用进位标志C,则可进行多字节无符号整数的运算。同时利用溢出标志,还可以对带符号数进行补码运算。需要指出的是,除加。减1指令外,这类指令大多数都会对PSW(程序状态字)有影响。这在使用中应特别注意。
-
2010/4/21
-
人气(7426)
-
星级(10)
-
评论(1)
- 第3章(6):单片机硬件系统MCS51指令系统
- [1].以累加器A为目的操作数类指令(4条)
这4条指令的作用是把源操作数指向的内容送到累加器A。有直接。立即数。寄存器和寄存器间接寻址方式:
MOV A,data ;(data)→(A)直接单元地址中的内容送到累加器A
MOV A,#data ;#data→(A)立即数送到累加器A中
MOV A,Rn ;(Rn)→(A) Rn中的内容送到累加器A中
MOV A,@Ri ;((Ri))→(A) Ri内容指向的地址单元中的内容送到累加器A
[2].以寄存器Rn为目的操作数的指令(3条)
这3条指令的功能是把源操作数指定的内容送到所选定的工作寄存器Rn中。有直接。立即和寄存器寻址方式:
MOV Rn,data ;(data)→(Rn)直接寻址单元中的内容送到寄存器Rn中
MOV Rn,#data ;#data→(Rn)立即数直接送到寄存器Rn中
MOV Rn,A ;(A)→(Rn)累加器A中的内容送到寄存器Rn中
[3].以直接地址为目的操作数的指令(5条)
这组指令的功能是把源操作数指定的内容送到由直接地址data所选定的片内RAM中。有直接。立即。寄存器和寄存器间接4种寻址方式:
MOV data,data ;(data)→(data)直接地址单元中的内容送到直接地址单元
MOV data,#data ;#data→(data)立即数送到直接地址单元
MOV data,A ;(A)→(data)累加器A中的内容送到直接地址单元
MOV data,Rn ;(Rn)→(data)寄存器Rn中的内容送到直接地址单元
MOV data,@Ri ;((Ri))→(data)寄存器Ri中的内容指定的地址单元中数据送到直接地址单元
-
2010/4/15
-
人气(6782)
-
星级(10)
-
评论(1)