汇编材料第3章80x86的指令系统和寻址方式

上传人:j****9 文档编号:54233172 上传时间:2018-09-09 格式:PPT 页数:136 大小:760.50KB
返回 下载 相关 举报
汇编材料第3章80x86的指令系统和寻址方式_第1页
第1页 / 共136页
汇编材料第3章80x86的指令系统和寻址方式_第2页
第2页 / 共136页
汇编材料第3章80x86的指令系统和寻址方式_第3页
第3页 / 共136页
汇编材料第3章80x86的指令系统和寻址方式_第4页
第4页 / 共136页
汇编材料第3章80x86的指令系统和寻址方式_第5页
第5页 / 共136页
点击查看更多>>
资源描述

《汇编材料第3章80x86的指令系统和寻址方式》由会员分享,可在线阅读,更多相关《汇编材料第3章80x86的指令系统和寻址方式(136页珍藏版)》请在金锄头文库上搜索。

1、第三章 80X86的指令系统和寻址方式,难重点 重点理解8086常用指令的功能,熟悉80X86的各种寻址方式, 指令系统一组指令的集合,指令, 寻址方式与数据有关的寻址方式与转移地址有关的寻址方式,1. 8086的寻址方式,与数据有关的寻址方式:以 MOV 指令为例 (MOV指令格式:MOV reg/mem,SRC) 立即寻址 MOV AX , 3069H 寄存器寻址 MOV AL , BH 直接寻址 MOV AX , 2000H 寄存器间接寻址 MOV AX , BX 寄存器相对寻址 MOV AX , COUNT SI 基址变址寻址 MOV AX , BP DI 相对基址变址寻址 MOV A

2、X , MASK BX SI ,存储器寻址,(1) 立即寻址方式:操作数直接在指令中给出,即操作数随指令存放于代码段中。指令格式: MOV AL, 5MOV AX, 3064HMOV AL, AMOV AX,1946H 注意:* 只能用于 SRC 字段 MOV 40H, AL * SRC 和 DST 的字长一致 MOV AH, 3064H *此方式不能对段寄存器和标志寄存器赋值。,(2) 寄存器寻址方式:操作数存于寄存器中,指令中指定寄存器号。MOV AX, CXMOV AL, BHMOV AX, 3064H 注意: * 字节寄存器只有 AH AL BH BL CH CL DH DL * SR

3、C 和 DST 的字长一致 MOV AH, BX * CS 不能用 MOV 指令改变 MOV CS, AX ,(3) 直接寻址方式:操作数存放于存储单元中,该存储单元的16位偏移地址(EA)紧跟在操作码之后,直接包含在指令中,存放在代码段中。例:MOV AX, 2000H EA=2000H, 假设(DS)=3000H, 那么PA=32000H,50,30,32000,AH AL,30,50,(AX) = 3050H,例:MOV BX, 1000H,注意: * 隐含的段为数据段 DS * 若操作数不在数据段而是在其他段(如附加段)中,则可使用段跨越前缀 MOV AX, ES: 2000H * 操

4、作数地址也可由变量(符号地址)表示, 但要注意变量的属性 VALUE DB 10(在数据段中定义) MOV AH, VALUE MOV AX, VALUE MOV AX, WORD PTR VALUE ,例:MOV AX, 3000H,低地址,高地址,CS段,操作码,00H,30H,34H,12H,34H,12H,AX,DS段,50000,53000,DS,5000,0,3000,53000,+,(4)寄存器间接寻址:操作数存于存储单元中,该存储单元的EA存放在基址寄存器BX、BP或变址寄存器SI、DI中。MOV AX, BX PA = 16d (DS) + (BX)MOV AX, ES:BX

5、 PA = 16d (ES) + (BX)MOV AX, BP PA = 16d (SS) + (BP)例: MOV CX, DI,注意:* 用BX存放EA时,隐含的段为数据段;而用BP时,则隐含的段为堆栈段,同样可以使用段跨越前缀。* 不允许使用AX、CX、DX 存放 EAMOV AX, CX * SRC 和 DST 的字长一致 MOV DL, BX ; BX指示一个字节单元MOV DX, BX ; BX指示一个字单元* 适于数组、字符串、表格的处理,低地址,高地址,CS段,操作码,34H,12H,34H,12H,AX,SS段,70000,73000,SS,7000,0,3000,73000

6、,+,例:MOV AX, BP,BP,有效地址 =,(BX) (BP) 8位 (SI) 16位 (DI),+,位移量,(5) 寄存器相对寻址方式:操作数的EA是一个基址寄存器(BX,BP)或变址寄存器(SI,DI)的内容和指令中指定的8位或16位位移量之和。实际上是在寄存器间接寻址的基础上加了一个8位或16位的位移量。因此,该方式与寄存器间接寻址方式类似。,指令格式: MOV AX, COUNTSI 或 MOV AX, COUNT+SI假设 (DS)=4000H, (SI)=0100H,COUNT=2000H,则: PA = 42100H 假设(42100H)=0050H, 那么 (AX)=0

7、050H* 适于数组、字符串、表格的处理 * 这个COUNT在使用前要在前面定义,它是一个符号地址。,低地址,高地址,CS段,操作码,00H,15H,34H,12H,34H,12H,AX,FS段,70000,73500,BX,1500,73500,+,例:MOV DX, BX+1500,DS,7000,0,2000,(6) 基址变址寻址方式:EA是一个基址寄存器(BX,BP)和一个变址寄存器(SI,DI)的内容之和。两个寄存器号均在指令中指定。指令格式: MOV AX, BX DIMOV AX, BX+DIMOV AX, ES:BX SIMOV AX, BX SI,注意: * 使用BX时,隐含

8、的段为数据段;使用BP时,则为堆栈段 * 适于数组、字符串、表格的处理 * 必须是一个基址寄存器和一个变址寄存器的组合MOV AX, BX BP MOV AX, SI DI ,( 7 ) 相对基址变址寻址方式:操作数的EA是一个基址寄存器和一个变址寄存器的内容和一个8位或16位位移量之和。实际上就是在基址变址寻址方式的基础上加了一个8位或16位的位移量,因此两者类似。MOV AX, MASK BX SI或 MOV AX, MASK BX+SI或 MOV AX, MASK+BX+SI 例: MOV AX , ARRAYBXSI,课堂练习:已知(DS)2000H,(BX)0100H,(SI)000

9、2H,(20100H)12H, (20101H)34H,(20102H)56H, (20103H)78H(21200H)2AH, (21201H)4CH,(21202H)B7H, (21203H)65H 问:试指出下列寻址方式,其物理地址值是多少?当执行了下列指令后AX寄存器中的值是多少? 1、MOV AX,1200H 2、MOV AX,BX 3、MOV AX,1200H 4、MOV AX,BX 5、MOV AX,1100BX 6、MOV AX,BXSI 7、MOV AX,1100BXSI,访问存储器的方式,默认的 段寄存器,可跨越的 段寄存器,偏移地址,取指令 CS 无 IP 堆栈操作 SS

10、 无 SP 一般数据访问 DS CS ES SS 有效地址EA BP作为基址的寻址 SS CS DS ES BP 串操作的源操作数 DS CS ES SS SI 串操作的目的操作数 ES 无 DI,段 寄 存 器 的 使 用 规 定,例:编写一段显示字符串STRING的程序DATA SEGMENTSTRING DB HAPPY NEW YEAR! , 0DH , 0AH , $ COUNT DW 17DATA ENDS ( 1 ) 直接寻址mov dl, string mov ah, 2 int 21h ; 显示字符Hmov dl, string+1 mov ah, 2int 21h ; 显示

11、字符A:,( 2 ) 寄存器间接寻址mov cx, count ; mov cx, 17 mov bx, offset string ; string的偏址 bx Next : mov dl, bx mov ah, 2int 21h ; 显示一个字符inc bxloop next ; 循环指令 ( 3 ) 寄存器相对寻址mov cx, count ; mov cx, 17 mov si, 0 Next : mov dl, stringsi ; mov dl, string+si mov ah, 2int 21h ; 显示一个字符inc siloop next ; 循环指令,( 4 ) 基址变址寻址mov cx, count ; mov cx, 17 mov bx, offset string ; string的偏址 bxmov si, 0 Next : mov dl, bx si ; mov dl, bx+si mov ah, 2int 21h ; 显示一个字符inc siloop next ; 循环指令 ( 5 ) DOS 显示字符串功能mov dx, offset string ; string的偏址 dx; lea dx, stringmov ah, 9int 21h ; 显示一串字符,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号