s4-2 数据传送指令.ppt
文本预览下载声明
外部程序存储器的字节传送指令 偏移量为5 PC ACC 0A0H78H 0040H 0041H 0043H 0042H 05HMOV A,#05H MOVC A,@A+PC 程序存储器 0AAH 55H 0AAH PC当前值 1 2 3 4 PC + 5 = 41H 5 外部程序存储器的字节传送指令 指令格式 特 点 执行结果由A和PC决定,表格只能存放在查表指令后的256个单元内,表格大小受到限制,且只能被一段程序所利用 执行结果由A和DPTR决定,表格的 大小和位置可在64KB程序存储器中 任意安排,1个表格可由各个程序块公用 MOVC A,@A+PC MOVC A,@A+DPTR 外部RAM的字节传送指令 指令格式 指令功能 机器码 周期 MOVX A,@Ri (A) ((Ri)) 1110001i 2 MOVX @Ri,A ((Ri)) (A) 1111001i 2 MOVX A,@DPTR (A) ((DPTR)) 2 MOVX @DPTR,A ((DPTR)) (A) 2 A与片外RAM中由Ri指示的地址单元中内容数据传送; A与片外RAM中由DPTR指示的地址单元内容数据传送。 写外部RAM 读外部RAM 外部RAM的字节传送指令 指令格式 特 点 Ri为8位寄存器,寻片外RAM范围为0000H~00FFH DPTR为16位寄存器,寻片外RAM 范围为0000H~FFFFH MOVX A,@Ri MOVX @Ri,A MOVX A,@DPTR MOVX @DPTR,A 目 录 内部数据传送指令 堆栈操作指令 外部数据传送指令 数据交换指令 堆栈操作指令 指令格式 指令功能 机器码 周期 POP direct direct 2 ((SP)) (direct) (SP) (SP) - 1 PUSH direct direct 2 (SP) (SP) + 1 ((SP)) (direct) 入栈操作指令; PUSH addrn addr+3 addr+2 addr addr+1 addr+4 堆栈区 data1 data2 data3 data4 SP 第一步:(SP) = (SP) + 1 第二步:((SP)) (addrn) 数据处理 PUSH 将DPH内的内容送入SP PUSH DPL PUSH DPH 将DPL内的内容送入SP 假设(SP) = 09H,DPTR = 0123H,执行DPTR入栈操作。 SP SFR DPH DPL 0BH 堆栈区 0AH 09H 执行过程: 中断、子程序 调用现场保护 堆栈操作指令 指令格式 指令功能 机器码 周期 POP direct direct 2 ((SP)) (direct) (SP) (SP) - 1 PUSH direct direct 2 (SP) (SP) + 1 ((SP)) (direct) 出栈操作指令; POP addrn addr+3 addr+2 addr addr+1 addr+4 堆栈区 data4 d
显示全部