专升本微机原理_清华版_第五章(一)

上传人:野鹰 文档编号:3294870 上传时间:2017-08-01 格式:PPT 页数:60 大小:411.50KB
返回 下载 相关 举报
专升本微机原理_清华版_第五章(一)_第1页
第1页 / 共60页
专升本微机原理_清华版_第五章(一)_第2页
第2页 / 共60页
专升本微机原理_清华版_第五章(一)_第3页
第3页 / 共60页
专升本微机原理_清华版_第五章(一)_第4页
第4页 / 共60页
专升本微机原理_清华版_第五章(一)_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《专升本微机原理_清华版_第五章(一)》由会员分享,可在线阅读,更多相关《专升本微机原理_清华版_第五章(一)(60页珍藏版)》请在金锄头文库上搜索。

1、第五章 86系列微型计算机指令系统,概述5.1指令格式与寻址方式5.2 数据传送指令5.3 数据操作类指令5.4 串操作指令5.5 控制类指令,概述,指令(instruction)是微处理器执行某种操作的命令,微处理器全部指令的集合称为指令系统。指令有两种书写格式:机器指令和符号指令(也叫助记符)。符号指令是用规定的助记符和规定的书写格式书写的指令。符号指令的书写格式为:操作码 操作数 MOV AL, 1 ; (10110000 00000001),汇编语言、机器语言和汇编程序assembly language assembler,用助记符编写的程序称为汇编语言程序使计算机执行操作的二进制码称

2、为机器指令(machine code)汇编语言指令与机器指令是一一对应的用机器指令编写的程序称为机器语言程序,CPU只能执行机器语言程序;将汇编语言指令翻译成机器语言指令称为汇编,此翻译程序称为汇编程序(assembler)Masm.exe:汇编程序,一. 汇编语言指令格式标号:操作码 操作数1,操作数2;注释换行表示一条指令结束。 例: LL: MOV AX,1090H ;取参数,1.标号:指令的符号地址2.操作码:指明指令功能。,3.操作数(operand):指令操作对象数据、寄存器名、地址及约定符号。4.注释行:说明指令在程序中的作用。 操作码和操作数是指令主体。,MOV_move传送X

3、CHG_exchange交换AND_and logic与逻辑运算XOR_exclusive or异或MUL_Multiply乘法ROR_rotate right右循环JMP_ jump跳转RET_return 子程序返回,5.1.1 指令格式,二. 机器语言指令格式,操作码 操作数1 操作数2有单字节、双字节和三字节指令。,汇编语言指令中操作码和操作数是指令主体,称为指令可执行部分,指令表中可查出对应指令代码。,举例:汇编语言:机器语言:MOV AX,1000HB8 00 10HMOV DS,AX8E D8HMOV CX,0008HB9 08 00H,101110000000000000010

4、000,寻址方式:寻找指令中操作数的方式(在不特别说明的情况下,一般指源操作数) 操作数有三种可能的存放方式:直接包含在指令中,例 MOV AX,1000H (B8 00 10H) 立即数 称为立即数寻址包含在某个寄存器中,例 MOV DS,AX (8E D8H) 寄存器操作数 称为寄存器寻址在内存中 存储器操作数(内存操作数) 称为存储器寻址(直接寻址、寄存器间接寻址、寄存器相对寻址、基址加变址寻址和相对的基址加变址寻址 ),5. 1.2 寻址方式(Addressing Modes),1. 立即数寻址操作数作为立即数直接存在指令中,可为字节、 字; 字; 机器语言指令MOV AL, 80H

5、;B080HMOVAX,1090H ;B89010H,低地址,高地址,DS段,操作码,90H,10H,AX,10H,90H,AH,AL,注意 :(1) 立即数只能是整数。 (2) 立即数只能作为源操作数。,2. 寄存器寻址操作数包含在指令规定的8位或16位寄存器中例,MOV CX, DX (源操作数与目的操作数要匹配),34H,12H,CX,34H,12H,DX,寄存器寻址由于无需从存储器中取操作数,故执行速度快,注意:对于16位操作数来说,寄存器可以为AX,BX,CX,DX,SI,DI,SP,BP。对于8位寄存器可以为AH,AL,BH,BL,CH,CL,DH,DL,3 操作数在内存单元中(直

6、接寻址,寄存器间接寻址),直接寻址 MOV AX, 1070H 将DS段的1070H和1071H两单元的内容取到AX中,寄存器间接寻址 操作数在内存中,内存的有效地址由寄存器指出。这些寄存器可以为BX,BP,SI和DI。,MOV AX,BX :数据段基址寻址用BX寄存器进行间接寻址,默认的段寄存器为DS。,寄存器间接寻址,(2) MOV BX,BP :堆栈段基址寻址用BP寄存器进行间接寻址,默认的段寄存器为SS。,(3) MOV AX,SI : 变址寻址默认的段寄存器为DS。,(4) MOV AX,BX+SI : 基址变址寻址默认的段寄存器为DS。,(5) MOV AX,BX+SI+0050

7、: 相对基址变址寻址默认的段寄存器为DS。,3 操作数在内存单元中(直接寻址,寄存器间接寻址),内存中的数据: 内存实际地址由两部分组成:存储单元所在段的基地址、段内偏移地址(偏移量)MOV ES: 3000H, AL ;(ES)*16+3000HES: MOV 3000H, AL段内偏移地址可以由如下三个部分组成(称为偏移地址三元素): 基址寄存器的内容(BX、BP) 变址寄存器的内容(DI、SI) 位移量(0、16位或8位的具体数据),BX DI 位移量 BP SI,3 操作数在内存单元中(直接寻址,寄存器间接寻址),注意:括号中的内容为内存偏移地址,括号中使用的寄存器只能是BX、BP、D

8、I、SI及其规定的组合。,BX DI 位移量 BP SI,直接寻址,基址,变址,相对基址,基址变址,相对基址变址,由三元素可组合出存储器寻址方式:MOVAX, 基址+变址+位移量1. MOVAX, 位移量 ;直接寻址 寄存器间接寻址的进一步细分:2. MOVAX, 变址 ;寄存器间接寻址3. MOVAX, 基址 ;寄存器间接寻址4. MOVAX, 变址+位移量 ;寄存器相对寻址5. MOVAX, 基址+位移量 ;寄存器相对寻址6. MOVAX, 基址+变址 ;基址加变址寻址7. MOVAX, 基址+变址+位移量 ;相对的基址加变址寻址,由于有两个是相同的,所以实际上相对于内存操作数的寻址方式有

9、5种,即直接寻址和寄存器间接寻址(包含4种)方括号内的值是内存的有效地址,方括号内仅为数值时为直接寻址;方括号内有寄存器BX、BP、SI、DI时为间接寻址。,3. 直接寻址(1)指令中的操作数部分直接给出操作数的有效地址EA,操作数16位整数,操作数默认在DS段中MOV AX, 3000H; MOVBX,0020H;MOV AL,3000H,低地址,高地址,CS段,操作码,00H,30H,34H,12H,34H,12H,AX,DS段,50000,53000,DS,5000,0,3000,53000,+,目标寄存器为8位时取一个字节,3. 直接寻址(2)如果操作数在DS以外的其他段(CS, SS

10、, ES)中,指令中必须指明段寄存器MOV AX, ES:3000H 26 A1 00 30ES:MOV AX,3000H,低地址,高地址,CS段,操作码,00H,30H,34H,12H,34H,12H,AX,ES段,20000,23000,ES,2000,0,3000,23000,+,4. 寄存器间接寻址(1)操作数地址的偏移量(有效地址EA)存放在基址寄存器BX、BP或变址寄存器SI、DI中;以SI, DI, BX间接寻址,默认操作数在DS段中MOV AX, SI括号中只要出现BP则默认操作数在SS段中,例如:MOV AX, BPMOV AL,BP+SIMOVBX,BP+DI+1500H,

11、低地址,高地址,CS段,操作码,34H,12H,34H,12H,AX,SS段,70000,73000,SS,7000,0,3000,73000,+,MOV AX, BP,BP,4. 寄存器间接寻址(2),5 寄存器相对寻址(1) 数据段基址EA=(基址寄存器)+位移量(8位或16位)BX为基址寄存器DS为默认段寄存器,MOV AX, BX+24HMOV DX, BX+1500H,BX中的数值加位移量,(2) 堆栈段基址EA=(基址寄存器)+位移量(8位或16位) BP为基址寄存器SS为默认段寄存器,MOV BX, BPMOV DX, BP+1500H,BP中的数值加位移量,低地址,高地址,CS

12、段,操作码,00H,15H,34H,12H,34H,12H,AX,DS段,70000,73500,BX,1500,73500,+,MOV DX, BX+1500H,DS,7000,0,2000,(3) 变址寄存器EA=变址寄存器+位移量SI,DI为变址寄存器, DS为默认段寄存器,MOV AH, SI+5MOV AX,DI+1500H,变址寻址适用于对一维数组的元素进行操作。,6 基址加变址寻址EA=基址寄存器+变址寄存器 MOV AX, BX+SI MOV AX, BX+DI MOV AX,BP+SI MOV AX,BP+DI 只要用上BP,那么默认的段寄存器就是SS,其他情况下默认DS,基

13、址加变址寻址主要用于二维数组操作和二重循环,7 相对的基址加变址寻址EA=基址寄存器+变址寄存器+位移量 MOV AL, BX+SI+50 MOV AL, BX+DI+1500H MOV AL, BP+SI+50 MOV AL, BP+DI+1500H,主要用于二维数组操作,位移量为数组起始地址,例5.1,1. MOV AL, 1B57H 2. MOV AX, BX 3. MOV AX, BX+1B57H 4. MOV AX, DI 5. MOV AX,DI+1B57H 6. MOV AX, BX+DI 7. MOV AX,BX+SI+100H另外: 8. MOV AX, 1234H 9. MOV AX, BX,直接寻址,寄存器间接寻址,BX寄存器相对间接寻址,变址寻址,DI寄存器相对变址寻址,基址加变址寻址,相对的基址加变址寻址,立即数寻址,寄存器寻址,5.2 传送类指令,1.通用数据传送指令 (1) 基本传送指令(执行后不影响标志位, 源操作数不变)例如,MOV BL,40HMOV AL,BLMOV ES,DXMOV AX,BXMOV DI,AXMOV CX,1000HMOV DX,5040HMOV WORD PTRSI, 70HMOV BYTE PTR BX,10HMOV WORD PTRBX,10H,

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

当前位置:首页 > 行业资料 > 其它行业文档

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