第4章汇编语言程序设计基础4.2数据传送指令_第1页
第4章汇编语言程序设计基础4.2数据传送指令_第2页
第4章汇编语言程序设计基础4.2数据传送指令_第3页
第4章汇编语言程序设计基础4.2数据传送指令_第4页
第4章汇编语言程序设计基础4.2数据传送指令_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、新编电类专业计算机基础4.2 数据传送指令数据传送指令数据传送指令共28条,分为4类。 内部数据传送指令外部数据传送指令堆栈操作指令数据交换指令目 录 内部数据传送指令 堆栈操作指令 外部数据传送指令 数据交换指令 内部数据传送指令数据传送发生在片内,助记符为“MOV”,通用格式为: MOV, 改变 不变 类似“Copy” 而非“Cut” 传送拷 贝 F盘(电影) E盘 内部数据传送指令z内部数据传送指令立即寻址传送指令 寄存器寻址传送指令 直接寻址传送指令 寄存器间接寻址传送 指令 共28条,根据寻址方式不同,分为4类。 立即寻址传送指令指令中包含有立即数的为立即寻址传送指令。 MOV, 立

2、即数不能被修改, 只能作源操作数 不同类型的传送指令就是将立即数、直接地址、寄存器、 间接寄存器分别放于目的及源操作数进行排列组合 立即寻址传送指令 指令格式 指令功能 机器码 MOV A,#dataMOV Rn,#dataMOV Ri,#dataMOV direct,#data #data:8位立即数; (A) data01110100, data Rn:工作寄存器R0R7; 周期 (Rn) dataRn与机器码对应关系指令机器码MOV R0,#data0111 1000MOV R1,#data0111 1001MOV R2,#data0111 1010MOV R6,#data0111 11

3、10MOV R7,#data0111 1111带有工作寄存器R0R7的指令翻译成机器码都存在上述对应关系 规律性 立即寻址传送指令 指令格式指令功能机器码MOV A,#dataMOV Rn,#data周期MOV Ri,#dataMOV direct,#data #data:8位立即数; (A) data01110100, data Rn:当前选中的R0R7; (Rn) data 01111rrr, data Ri:R0或R1; (Ri) data 0111011i, data范例MOV R0,#78HMOVR0,#55H R0 = 78H(地址值) 0111011001010101操作码立即数

4、程序存储器片内RAM78HR0 01111000 01010101执行过程: (78H) 55H 将立即数55H传送到R0指定的地址单元78H。 找到地址 立即寻址传送指令 指令格式指令功能机器码MOV A,#dataMOV Rn,#data周期MOV Ri,#dataMOV direct,#data #data:8位立即数; (A) data01110100, data Rn:当前选中的R0R7; (Rn) data01111rrr, data Ri:R0或R1; (Ri) data 0111011i, data direct:直接地址(片内RAM或SFR)。 (direct) data 0

5、1110101, direct, data范例MOV P1,#55HSJMP0003H(P1) = 55H 原地跳转0111010110010000操作码直接地址程序存储器01010101立即数执行过程: SFR90H 01010101将立即数55H传送到直接地址90H。 立即数寻址传送指令 指令格式指令功能机器码MOV A,#dataMOV Rn,#data周期MOV Ri,#dataMOV direct,#data #data:8位立即数; (A) data01110100, data Rn:当前选中的R0R7; (Rn) data01111rrr, data Ri:R0或R1; (Ri)

6、 data 0111011i, data direct:直接地址(片内RAM或SFR)。 (direct) data 01110101, direct, data1112 指令格式指令功能机器码周期寄存器寻址传送指令指令中包含有寄存器的为寄存器寻址传送指令。 11MOV A,RnMOV Rn,A(A) (Rn)11101rrr (Rn) (A)11111rrr2MOV direct,Rn (direct) (Rn)10001rrr寄存器与累加器A间进行数据传送 寄存器内容传送入直接地址范例MOVR0,#78HMOVP1,R0SJMP0004H将寄存器内容78H传送入直接地址90H。 R0 =

7、78H(90H) = (R0) = 78H原地跳转执行过程: 10001000操作码程序存储器10010000直接地址片内RAMR0SFR90H0111100001111000直接寻址传送指令 指令格式指令功能机器码周期直接地址单元与累加器A间进行数据传送指令中包含有直接地址的为直接寻址传送指令。 MOV A,directMOV direct,A(A) (direct)11100101,direct(direct) (A)11110101,direct11MOV ,direct (Rn) (direct) 10101rrr,direct2MOV ,direct1 (direct2) (dire

8、ct1) 10000101 direct1,direct22MOV ,direct (Ri) data 1010011i,direct2直接地址单元中内容传送到寄存器、寄存器所指 地址单元、直接地址单元 RnRidirect2范例MOV20H,#0AAHMOVP1,20HSJMP0006H将直接地址单元20H中内容送入直接地址单元90H中。 (20H) = AAH (90H) = (20H) = AAH 原地跳转 执行过程: 10000101操作码程序存储器 direct11001000090H20H片内RAMSFR00100000direct21010101010101010寄存器间接寻址指

9、令 指令格式指令功能机器码周期指令中包含有间接寄存器的为寄存器间接寻址传送指令。 11MOV A,RiMOV Ri,A(A) (Ri)1110011i (Ri) (A)1111011i2MOV direct,Ri (direct) (Ri)1000011i, direct寄存器所指地址单元内容与累加器A间进行数据传送 寄存器所指地址单元内容传送入直接地址范例 将寄存器所指地址单元78H的内容送入直接地址单元90H。 SFR 90H 01010101执行过程: 10000110操作码 程序存储器 10010000直接地址 片内RAM78HR0 MOVR0,#78HMOVR0,#55HMOVP1,

10、R001111000R0 = 78H(地址值)(R0) = (78H) = 55H(90H) = (R0) = 55H01010101目 录 内部数据传送指令 堆栈操作指令 外部数据传送指令 数据交换指令 外部数据传送指令 用于片外RAM、ROM与单片机片内存储器间的数据传送。 C:Code MOV MOVC MOVX X:External RAM 外部程序存储器字节传送指令16位数传送指令外部RAM字节传送指令外部数据传送指令16位数传送指令 指令格式指令功能机器码周期2MOV DPTR,#data16 10010000data158, data70(DPH) data158(DPL) da

11、ta70唯一的16位传送指令; 配合MOVC、MOVX指令实现外部数据传送。 片外RAM、ROM 的地址 外部程序存储器字节传送指令 属于变址寻址指令,专用于查表,称为查表指令。 地址数据0040H55H0041H0AAH0042H0A0H0043H78H55H0AAH0A0H指令178H0040H0041H0043H0042H0000H程序存储器程序存储器中连续 存放的一段常数 地址数据对应的表格 表 抽象外部程序存储器的字节传送指令 指令格式指令功能机器码周期 MOVC A,A+PC 10000011 2(PC) (PC) + 1 (A) (PC) + (A)MOVC A,A+DPTR (

12、A) (DPTR) + (A) 10010011 2 DPTR:表头地址(基址),A:偏移量(变址); 范例MOVA,#dataMOVCDPTR,#0040HMOVCA,A+DPTR 程序存储器中从地址0 x40H开始连续存放一串常数,用MOVC A,A+DPTR指令查找任意数据。 取得表内数据 取得16位表头地址 偏移量data存入A 执行过程偏移量为1PC偏移量为2、3 结果? ACC00H55H0AAH0A0H0111010078H0040H0041H0043H0042H1001001140HMOVC A,A+DPTR01H10010000MOV A,#01HMOV DPTR,#0040

13、H(DPH)(DPL)DPTR程序存储器0040H0AAH取得表头地址 表头地址加偏移量 取得值 外部程序存储器的字节传送指令 指令格式指令功能机器码周期 MOVC A,A+PC 10000011 2(PC) (PC) + 1 (A) (PC) + (A)MOVC A,A+DPTR (A) (DPTR) + (A) 10010011 2 DPTR:表头地址(基址),A:偏移量(变址); PC:表头地址(基址),A:偏移量(变址)。 范例MOVA,#dataMOVA,A+PC 程序存储器中从地址0 x40H开始连续存放一串常数,用 MOVC A,A+PC指令查找任意数据。 取得表中数据 偏移量d

14、ata存入A 外部程序存储器的字节传送指令 偏移量为5 PCACC 0A0H0111010078H0040H0041H0043H0042H05H10000011MOV A,#05H MOVC A,A+PC 程序存储器 0AAH55H0AAHPC当前值 1234PC + 5 = 41H 5外部程序存储器的字节传送指令指令格式 特 点 执行结果由A和PC决定,表格只能存放在查表指令后的256个单元内,表格大小受到限制,且只能被一段程序所利用 执行结果由A和DPTR决定,表格的大小和位置可在64KB程序存储器中任意安排,1个表格可由各个程序块公用 MOVC A,A+PC MOVC A,A+DPTR

15、外部RAM的字节传送指令 指令格式 指令功能 机器码 周期 MOVX A,Ri (A) (Ri) 1110001i 2 MOVX Ri,A (Ri) (A) 1111001i 2 MOVX A,DPTR (A) (DPTR) 11100000 2 MOVX DPTR,A (DPTR) (A) 11110000 2 A与片外RAM中由Ri指示的地址单元中内容数据传送; A与片外RAM中由DPTR指示的地址单元内容数据传送。 写外部RAM读外部RAM 外部RAM的字节传送指令指令格式 特 点 Ri为8位寄存器,寻片外RAM范围为0000H00FFH DPTR为16位寄存器,寻片外RAM范围为000

16、0HFFFFH MOVX A,RiMOVX Ri,AMOVX A,DPTRMOVX DPTR,A目 录 内部数据传送指令 堆栈操作指令 外部数据传送指令 数据交换指令 堆栈操作指令 指令格式指令功能机器码周期 POP direct 11010000,direct 2(SP) (direct) (SP) (SP) 1 PUSH direct 11000000,direct 2(SP) (SP) + 1 (SP) (direct)入栈操作指令; PUSHaddrnaddr+3addr+2addraddr+1addr+4堆栈区 data1data2data3data4SP第一步:(SP) = (SP

17、) + 1 第二步:(SP) (addrn) 数据处理 PUSH将DPH内的内容送入SPPUSH DPL PUSH DPH 将DPL内的内容送入SP 假设(SP) = 09H,DPTR = 0123H,执行DPTR入栈操作。 SPSFRDPHDPL0BH堆栈区0AH09H执行过程: 00000001 00100011 00100011 00000001中断、子程序调用现场保护堆栈操作指令 指令格式指令功能机器码周期 POP direct 11010000,direct 2 (SP) (direct) (SP) (SP) 1 PUSH direct 11000000,direct 2 (SP)

18、(SP) + 1 (SP) (direct)出栈操作指令; POPaddrnaddr+3addr+2addraddr+1addr+4堆栈区data4data1data2data3数据处理SP第二步:(SP) = (SP) 1 第一步:(addrn) (SP) POP将SP内的内容送入DPHPOPDPHPOPDPLPOPSP将SP内的内容送入DPL将SP内的内容送入SP 假设(SP) = 32H,片内RAM的30H32H内容分别为20H、23H、01H,执行出栈操作。 SPSFRDPHDPLSP32H堆栈区0010000031H30H 00000001 00100011xxxxxxxx1FH执行过程: 00000001 00100011 00100000中断、子程序调用现场恢复 SP = 20H目 录 内部数据传送指令 堆栈操作指令 外部数据传送指令 数据交换指令 数据交换指令数据交换指令可实现两个操作数之间进行直接交换。 XCH操作数1,操作数2 既可作源操作数,又可作

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论