计算机指令系统寻址方式

上传人:suns****4568 文档编号:88911309 上传时间:2019-05-13 格式:PDF 页数:83 大小:19.73MB
返回 下载 相关 举报
计算机指令系统寻址方式_第1页
第1页 / 共83页
计算机指令系统寻址方式_第2页
第2页 / 共83页
计算机指令系统寻址方式_第3页
第3页 / 共83页
计算机指令系统寻址方式_第4页
第4页 / 共83页
计算机指令系统寻址方式_第5页
第5页 / 共83页
点击查看更多>>
资源描述

《计算机指令系统寻址方式》由会员分享,可在线阅读,更多相关《计算机指令系统寻址方式(83页珍藏版)》请在金锄头文库上搜索。

1、1 微机原理及应用微机原理及应用 Principles and Applications of Microcomputer Systems 主讲教师主讲教师: 韩阳韩阳 Michael 2010-10-24 北京化工大学北京化工大学BUCT 信息科学与技术学院信息科学与技术学院 本科课程教学本科课程教学 CSE22700D 信工信工0801-03 通信通信0801-04 VERSION CSE22700D200801-03-04 COPYRIGHT 2008EECE 80386 及其后继机型字长为及其后继机型字长为32位位,它除可以处理它除可以处理 8位和位和16位操作数外位操作数外, 还可处

2、理还可处理32位操作位操作 数数, 在乘除情况下可产生在乘除情况下可产生64位数位数. 4.3 Intel 80x86/Pentium系列微型计算机寻址方式系列微型计算机寻址方式 2010-10-2440 (1) 立即寻址方式立即寻址方式* 操作数在指令中给出操作数在指令中给出P44 指令格式:指令格式:MOV AL, 5 MOV AX, 3064H MOV AL, A MOV EAX,12345678H *只能用于只能用于 SRC 字段字段MOV 40H, AL *SRC 和和 DST 的字长一致的字长一致MOV AH, 3064H 特点:执行速度快,常用来提供常数特点:执行速度快,常用来提

3、供常数 4.3 Intel 80x86/Pentium系列微型计算机寻址方式系列微型计算机寻址方式 2010-10-2441 AH AL 主存 00000H 操作码操作码 34H 12H 一条指令一条指令 AX MOV AX,1234H AH AL 主存 00000H 操作码操作码 0F5H 一条指令一条指令 AX MOV AL,0F5H 立即数寻址方式立即数寻址方式 : : : : 4.3 Intel 80x86/Pentium系列微型计算机寻址方式系列微型计算机寻址方式 2010-10-2442 在汇编指令中,立即数是数值则直接书写,如在汇编指令中,立即数是数值则直接书写,如 是字符则加上

4、引号。是字符则加上引号。立即数只能作为源操作数。立即数只能作为源操作数。 例如:例如:MOV CX,1000H MOV AL,0AH MOV AH,A 4.3 Intel 80x86/Pentium系列微型计算机寻址方式系列微型计算机寻址方式 2010-10-2443 (2) 寄存器寻址方式寄存器寻址方式* 操作数在指定的寄存器中操作数在指定的寄存器中 MOV ECX,EDX MOV AX, BX ADD EAX, EDX MOV AX, 3064H *字节寄存器只有字节寄存器只有AH AL BH BL CH CL DH DL *SRC 和和 DST 的字长一致的字长一致MOV AH, BX

5、*CS 不能用不能用 MOV 指令改变指令改变MOV CS, AX 指令所需的操作数在寄存器中,按指令给出的寄存器 地址去获得操作数。所用寄存器的位数决定了指令操 作数的类型。 4.3 Intel 80x86/Pentium系列微型计算机寻址方式系列微型计算机寻址方式 2010-10-2444 操作码操作码REG 指令代码指令代码 Ri操作数操作数 S 寄存器寻址方式寄存器寻址方式 特点:执行速度快 4.3 Intel 80x86/Pentium系列微型计算机寻址方式系列微型计算机寻址方式 2010-10-2445 例例2:MOV BL,AL MOV CH,CL MOV BP,DX MOV D

6、S,AX INC BX 在汇编指令中,寄存器地址直接用寄存器名表示,如在汇编指令中,寄存器地址直接用寄存器名表示,如 AX、BX、CL、SI、DS等。等。 例例1:MOV AX,BX 4.3 Intel 80x86/Pentium系列微型计算机寻址方式系列微型计算机寻址方式 2010-10-2446 存储器寻址方式存储器寻址方式 以下几种寻址方式,操作数在存储器中。以下几种寻址方式,操作数在存储器中。 在汇编语言程序中,存储单元地址使用逻辑地址:在汇编语言程序中,存储单元地址使用逻辑地址: 段基值:偏移量段基值:偏移量 ( (段起始单元物理地址的高段起始单元物理地址的高1616位:偏移地址位:

7、偏移地址) ) ( (段地址:偏移地址段地址:偏移地址) ) 4.3 Intel 80x86/Pentium系列微型计算机寻址方式系列微型计算机寻址方式 2010-10-2447 存储器寻址方式存储器寻址方式形成操作数逻辑地址的偏移量。形成操作数逻辑地址的偏移量。 有效地址:按指令中存储器寻址方式计算得到的偏移量有效地址:按指令中存储器寻址方式计算得到的偏移量 称为有效地址称为有效地址EA。 有效地址有效地址EA是四个地址分量的某种组合:是四个地址分量的某种组合: (1)位移量:指令代码中的一个)位移量:指令代码中的一个8/16/32位二进制位二进制 补码带符号数补码带符号数 (2)基地址:)

8、基地址:16位寻址时是位寻址时是BX或或BP的内容的内容 (3)变址量:)变址量:16位寻址时是位寻址时是SI或或DI的内容的内容 根据四个地址分量的不同组合,有根据四个地址分量的不同组合,有4种不同的存储种不同的存储 器寻址方式。器寻址方式。 (4)比例因子()比例因子(386及其后继机型新增):及其后继机型新增):1/2/4/8。 4.3 Intel 80x86/Pentium系列微型计算机寻址方式系列微型计算机寻址方式 2010-10-2448 (3) 直接寻址方式直接寻址方式* 有效地址有效地址EA由指令直接给出由指令直接给出 例例:MOV AX, 2000H EA=2000H, 假设

9、假设(DS)=3000H, 那么那么PA=32000H *隐含的段为数据段隐含的段为数据段 DS *可使用段跨越前缀可使用段跨越前缀MOV AX, ES: 2000H *操作数地址可由变量(符号地址)表示操作数地址可由变量(符号地址)表示, 但要注意但要注意 VALUE DB 10 变量的属性变量的属性 MOV AH, VALUE MOV AX, VALUE MOV AX, WORD PTR VALUE 50 30 32000 AH AL 3050 (AX) = 3050H 2010-10-2449 直接寻址直接寻址存储器直接寻址方式存储器直接寻址方式 指令所需的操作数在指令所需的操作数在存储

10、器存储器中,操作数的有效地址中,操作数的有效地址 EAEA(16/3216/32位)直接由指令代码中的位移量提供。位)直接由指令代码中的位移量提供。 操作码操作码位移量位移量 指令代码指令代码 直接寻址方式直接寻址方式 16位位 EA 汇编指令中,直接寻址方式可用数值地址或符号地址汇编指令中,直接寻址方式可用数值地址或符号地址 来表示:段寄存器名:来表示:段寄存器名: 数值数值 ,变量,变量,变量,变量+ +常量常量 (1 1)数值地址)数值地址 例如:例如:MOV BXMOV BX,DSDS:1000H1000H 4.3 Intel 80x86/Pentium系列微型计算机寻址方式系列微型计

11、算机寻址方式 2010-10-2450 主存主存 00000H 操作码操作码 MOD R/M MOV BX ,DS: 1000H : : : 00H 10H : DS 34H 12H BX 位移量位移量 1000H EA 数值地址表示的直接寻址方式数值地址表示的直接寻址方式 2010-10-2451 (2 2)符号地址)符号地址 例如:例如:MOV EAXMOV EAX,DATA DATA MOV BXMOV BX,VARVAR 用符号表示操作数的存储单元用符号表示操作数的存储单元 若操作数存放在数据段中若操作数存放在数据段中,则指令中则指令中 不必给出数据段寄存器名不必给出数据段寄存器名(隐

12、含使用隐含使用 DS) 若操作数不是存放在数据段中若操作数不是存放在数据段中,则指则指 令中必须给出数据段寄存器名令中必须给出数据段寄存器名 主存 00000H : : : DS FFH 00H BX EA 符号地址表示的直接寻址方式符号地址表示的直接寻址方式 MOV BX,VAR VAR MOV DAB,0FH MOV CL,DA+3 例如:例如: MOV DS:DAB,0FH MOV CL,DS:DA+3 上述上述2条指令分别等价于:条指令分别等价于: 例如:例如: MOV AX,ES:DAW 4.3 Intel 80x86/Pentium系列微型计算机寻址方式系列微型计算机寻址方式 20

13、10-10-2453 直接寻址方式适合于处理单个变量直接寻址方式适合于处理单个变量 80X86中为了使指令字不要过长,规定中为了使指令字不要过长,规定 双操作数指令的两个操作数中只能有一双操作数指令的两个操作数中只能有一 个使用存储器寻址方式(另一个常常使个使用存储器寻址方式(另一个常常使 用寄存器寻址)用寄存器寻址) 4.3 Intel 80x86/Pentium系列微型计算机寻址方式系列微型计算机寻址方式 2010-10-2454 (4)寄存器间接寻址寄存器间接寻址* EA 由由8个个32位的通用寄存器(位的通用寄存器(EAX、EBX、 ECX、EDX、EDI、ESI、EBP、ESP)或)

14、或4个个16位通用寄存器(位通用寄存器(BX、BP、 SI、DI)提供,但不能是)提供,但不能是8位的通用寄存器。位的通用寄存器。 MOV AX, BX PA = 16d (DS) + (BX) MOV AX, ES:BX PA = 16d (ES) + (BX) MOV AX, BP PA = 16d (SS) + (BP) MOV AX, EBP PA = 16d (SS) + (EBP) * 不允许使用不允许使用AX、CX、DX 存放存放 EA (16位时使用通用寄存器位时使用通用寄存器BX、 BP、SI、DI ) MOV AX, CX * SRC 和和 DST 的字长一致的字长一致 M

15、OV DL, BX ; BX指示一个字节单元指示一个字节单元 MOV DX, BX ; BX指示一个字单元指示一个字单元 * 适于数组、字符串、表格的处理适于数组、字符串、表格的处理 4.3 Intel 80x86/Pentium系列微型计算机寻址方式系列微型计算机寻址方式 2010-10-2455 寄存器间接寻址寄存器间接寻址 凡使用凡使用BPBP、ESPESP、EBPEBP时默认段为时默认段为SSSS 其他寄存器的默认段为其他寄存器的默认段为DSDS 4.3 Intel 80x86/Pentium系列微型计算机寻址方式系列微型计算机寻址方式 寄存器间接寻址方式寄存器间接寻址方式 指令所需的操作数在存储器中,操作数的有效地址指令所需的操作数在存储器中,操作数的有效地址 EAEA直接从直接从 寄存器中获得。寄存器中获得。 操作码操作码MOD R/MMOD R/M 指令代码指令代码 寄存器间接寻址方式寄存器间接寻址方式 SI DI BX BP EA 如以如以 BP、EBP、ESP间接寻址,则隐含使用间接寻址,则隐含使用 SS。 其他,隐含使用其他,隐含使用DS。 OR OR O

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

当前位置:首页 > 高等教育 > 其它相关文档

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