321数据传送指令-精品文档资料系列.ppt
《321数据传送指令-精品文档资料系列.ppt》由会员分享,可在线阅读,更多相关《321数据传送指令-精品文档资料系列.ppt(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、寻址方式总结:寻址方式总结:1练习题练习题1. 下列指令中SRC和DST的寻址方式 MOV SI,C MOV BX+3,AX XCHG BXSI,AL ADD CX,DS:10H MOV DL,BP+DI MOV BX,AXDSESSSCSIP数据暂存器数据暂存器PSW执行部件控制电路执行部件控制电路指令译码器指令译码器AHBHCHDHSIDIBPSPALBLCLDL通用寄存器组通用寄存器组指指令令队队列列总线总线接口接口控制控制电路电路运运算算器器地地址址加加法法器器MOV操作码操作码0020-CS=1000H,IP=100HDS=3000H,BX=1000HMOV BX, 2000H100
2、10H10011H10012H31001H31000H1000H3000H0100H10 00H00H20H0103H3.2 8086/80883.2 8086/8088指令系统指令系统可分成如下可分成如下6 6类类:n 数据传送指令数据传送指令n 算术运算指令算术运算指令n 逻辑运算和移位指令逻辑运算和移位指令n 串操作指令串操作指令n 程序控制指令程序控制指令n 处理器控制指令处理器控制指令3.2.1 数据传送指令l 可实现可实现 存储器存储器 寄存器寄存器 I/OI/O接口接口 l 数据传送指令又可分为如下四种:数据传送指令又可分为如下四种:n 通用传送:MOV PUSH/POP XCH
3、Gn 目标地址传送 LEAn 标志传送n 输入输出 IN OUT(1) (1) MOV dst,src; dstsrc 传送的是字节还是字取决于指令中涉传送的是字节还是字取决于指令中涉及的寄存器是及的寄存器是8 8位还是位还是1616位。位。 1.通用传送指令1 1) 寄存器送(段)寄存器或主存寄存器送(段)寄存器或主存mov ax,bx;axbx,字传送,字传送mov ah,al;ahal,字节传送,字节传送mov ds,ax;dsax,字传送,字传送mov bx,al;bxal,字节传送,字节传送MOV reg / mem / seg , reg2 2)立即数送寄存器或主存立即数送寄存器或
4、主存mov al,4;al4,字节传送,字节传送mov si,200H;si0200H,字传送,字传送mov byte ptr si,0aH ;byte ptr 说明是字节操作说明是字节操作mov word ptr si+2,0bH ;word ptr 说明是字操作说明是字操作注意立即数是字节量还是字量注意立即数是字节量还是字量明确指令是字节操作还是字操作明确指令是字节操作还是字操作MOV reg / mem , imm3 3)段寄存器送寄存器或主存)段寄存器送寄存器或主存mov si,dsmov ax,es;axesmov ds,ax;dsaxesMOV reg / mem , seg4 4
5、) 主存送(段)寄存器主存送(段)寄存器mov al,bxmov dx,bp;dxss:bpmov es,si;esds:siMOV reg / seg , memMOV指令使用规则:1) 1) 立即数不允许作为目的操作数立即数不允许作为目的操作数2) 2) 不允许不允许 mem mem3) 3) 不允许不允许 seg seg 4) 4) 不允许不允许 seg 立即数立即数5) 5) CS、IP不能作目的寄存器不能作目的寄存器6) 6) 源操作数与目的操作数类型要一致源操作数与目的操作数类型要一致几个不能传送的解决办法:用AX作桥梁l存储器存储器存储器:存储器: MOV AX,MEM1 MOV
6、 MEM2,AXl段寄存器段寄存器段寄存器:段寄存器: MOV AX,DS MOV ES,AXl段寄存器段寄存器立即数:立即数: MOV AX,DATA MOV DS,AX什么是堆栈?什么是堆栈? 按按“后进先出后进先出(LIFO)”(LIFO)”方式工作的存储方式工作的存储区域。堆栈区域。堆栈进行压入弹出操作。进行压入弹出操作。为什么要设置堆栈?为什么要设置堆栈?为什么要按为什么要按 “ “后进先出后进先出”方式工作?方式工作?(2) (2) 堆栈操作指令堆栈操作指令主程序IP继续执行主程序执行子程序转子程序压栈弹出返回主程序主程序IPIP(下)继续执行主程序转子程序1返回主程序IP执行子程
7、序 2转子程序2返回子程序1IP(下)执行子程序1继续执行子程序1(a)(b)子程序调用示意图(a) 主程序调子程序; (b) 子程序嵌套示意图压栈弹出IP(下)规定由规定由SSSS指示堆栈段的段基址,堆栈指针指示堆栈段的段基址,堆栈指针SPSP始终始终指向堆栈的顶部,指向堆栈的顶部,SPSP的初值规定了所用堆栈区的的初值规定了所用堆栈区的大小。堆栈的最高地址叫栈底。大小。堆栈的最高地址叫栈底。 SPSS堆栈段堆栈段进栈方向进栈方向退栈方向退栈方向栈底栈底栈顶栈顶堆栈堆栈什么是堆栈?堆栈有何特点?什么是堆栈?堆栈有何特点?(1)(1)堆栈是在内存中开辟的一个存储数据的连续区域。堆栈是在内存中开
8、辟的一个存储数据的连续区域。(2)(2)其一端是固定的,称为栈底;另一端是活动的,其一端是固定的,称为栈底;另一端是活动的,称为栈顶,数据只能在栈顶进出,我们设置一个堆栈称为栈顶,数据只能在栈顶进出,我们设置一个堆栈指针指针SPSP来指示当前栈顶的位置。数据进入堆栈称为入来指示当前栈顶的位置。数据进入堆栈称为入栈栈PUSHPUSH,而数据出栈称为退栈,而数据出栈称为退栈POPPOP。注意:。注意:PUSHPUSH和和POPPOP在程序中是按后进先出原则成对出现的,而且它们的在程序中是按后进先出原则成对出现的,而且它们的操作数是操作数是1616位的数据,以此,一次数据入栈,就有位的数据,以此,一
9、次数据入栈,就有SPSP2 2。堆栈和队列堆栈和队列l堆栈:按照后进先出堆栈:按照后进先出(LIFO)(LIFO)的原则组织的存的原则组织的存储器空间(栈)储器空间(栈)l队列:按照先进先出队列:按照先进先出(FIFO)(FIFO)的原则组织的存的原则组织的存储器空间储器空间LIFOFIFOlSTACK 200Hl 就是对堆栈的定义,即就是在内存中划分出200H字节作为堆栈区,其地址为SS:0000HSS:01FFH,那么堆栈指针SP的初值l为0200H,如图所示。 PUSH src ; src为为16位操作数位操作数 例:例:PUSHAX;将;将AX内容压栈内容压栈 执行操作:执行操作: (
10、SP)(SP)- 2(SP)-1高字节高字节AH (SP)-2低字节低字节AL 压栈指令压栈指令设(设(AXAX)= =10102020H H低地址低地址存储区存储区(SS段)段)执行前执行前(AX)=1020(SP)存储区存储区(SS段)段)进栈方向进栈方向执行后执行后2010(AL)(AH)PUSH AX指令执行示意图指令执行示意图(SP)-2(SP)高地址高地址低地址低地址高地址高地址(SP)- -1压栈指令的格式为:压栈指令的格式为: PUSH reg PUSH mem/reg PUSH seg例如:例如: PUSH AX PUSH BX PUSH DS 注意进栈方向是注意进栈方向是高
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 321 数据 传送 指令 精品 文档 资料 系列
限制150内