ImageVerifierCode 换一换
格式:PPT , 页数:46 ,大小:384.50KB ,
文档编号:6160610      下载积分:16 文币
快捷下载
登录下载
邮箱/手机:
温馨提示:
系统将以此处填写的邮箱或者手机号生成账号和密码,方便再次下载。 如填写123,账号和密码都是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

优惠套餐
 

温馨提示:若手机下载失败,请复制以下地址【https://www.163wenku.com/d-6160610.html】到电脑浏览器->登陆(账号密码均为手机号或邮箱;不要扫码登陆)->重新下载(不再收费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  
下载须知

1: 试题类文档的标题没说有答案,则无答案;主观题也可能无答案。PPT的音视频可能无法播放。 请谨慎下单,一旦售出,概不退换。
2: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
3: 本文为用户(hyngb9260)主动上传,所有收益归该用户。163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

1,本文(第三章1 寻址方式与指令系统[1] .ppt)为本站会员(hyngb9260)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!

第三章1 寻址方式与指令系统[1] .ppt

1、1第第3章章 寻址方式与指令系统寻址方式与指令系统21.指令指令的基本概念的基本概念指令指令控制计算机完成指定操作控制计算机完成指定操作的的命令命令 机器语言指令机器语言指令指令的二进制代码形式。指令的二进制代码形式。例如:例如:B8 34 12汇编语言指令汇编语言指令助记符形式的指令。助记符形式的指令。例如:例如:MOV AX,1234H指令系统指令系统CPU所有指令及其使用规则的集合所有指令及其使用规则的集合32.指令格式指令格式操作码操作码 操作数操作数MOV AX,2000H ;双操作数双操作数ADD AX,0100H ;表示为:操作码表示为:操作码 DST,SRCADD AL,BLD

2、EC BX ;单操作数,表示为:操作码单操作数,表示为:操作码 DSTNOP ;无操作数无操作数43.8086指令执行过程指令执行过程以指令:以指令:MOV AX,0064H;B8 64 00(机器码)机器码)ADD AX,0100H;05 00 01MOV 2000H,AX;A3 00 20执行过程为例。执行过程为例。假设假设 CS=1000H,IP=0100H,DS=1492H58088的指令执行过程的指令执行过程61操作数的种类操作数的种类(1)立即数)立即数MOV AX,100H ;源操作数源操作数100H即为立即数。即为立即数。(2)寄存器操作数)寄存器操作数 ADD AX,BX(3

3、)存储器操作数)存储器操作数 MOV AX,100H(4)操作数在端口寄存器中)操作数在端口寄存器中 IN AL,80H(5)隐含的寄存器操作数)隐含的寄存器操作数 DAA 指令中没有给出操作数,但实际上隐含使用了某些指定的指令中没有给出操作数,但实际上隐含使用了某些指定的寄存器或段寄存器。寄存器或段寄存器。72有效地址有效地址EA 存储器操作数所给出的偏移地址即为存储器操作数所给出的偏移地址即为有效地址有效地址,简称简称EA。EA是一个是一个16位的无符号数,位的无符号数,代表被寻址的代表被寻址的存储器操作数在存储器中的位置距该段起点存储器操作数在存储器中的位置距该段起点(首单元首单元)的的

4、字节数。字节数。操作数的物理地址操作数的物理地址=段地址段地址 16+EA 例:例:MOV AX,0100H ;PA=(DS)16+0100HMOV AX,BX ;PA=(DS)16+(BX)8如何根据指令中提供的操作数获得真正参加操作的数如何根据指令中提供的操作数获得真正参加操作的数或指令转移的目标地址,称或指令转移的目标地址,称寻址方式寻址方式。与数据有关的与数据有关的寻址方式寻址方式与转移地址有关与转移地址有关的寻址方式的寻址方式指令的寻址方式分源操作数寻址方式和目标操作数寻指令的寻址方式分源操作数寻址方式和目标操作数寻址方式,址方式,通常指源操作数寻址方式通常指源操作数寻址方式。3.寻

5、址方式寻址方式9与数据有关的寻址方式与数据有关的寻址方式:以:以 MOV指令为例指令为例 立即寻址立即寻址 MOV AX,3069H寄存器寻址寄存器寻址 MOV AL,BH直接寻址直接寻址 MOV AX,2000H 寄存器间接寻址寄存器间接寻址 MOV AX,BX 寄存器相对寻址寄存器相对寻址 MOV AX,COUNT SI 基址变址寻址基址变址寻址 MOV AX,BP DI 相对基址变址寻址相对基址变址寻址 MOV AX,MASK BX SI 10(1)立即寻址方式立即寻址方式:操作数在指令中给出,即指令中的操作数就操作数在指令中给出,即指令中的操作数就是参加操作的数。是参加操作的数。MOV

6、 AL,5 ;将将5这一立即数送寄存器这一立即数送寄存器AL中。中。MOV BL,0B6H MOV AX,3069H;将将3069H这一立即数送寄存器这一立即数送寄存器AX中。中。MOV AL,A ;将将41H这一立即数送寄存器这一立即数送寄存器AL中。中。*立即数只能作为源操作数立即数只能作为源操作数。11(2)寄存器寻址方式寄存器寻址方式:参加操作的数在指令指定的寄存器中,即参加操作的数在指令指定的寄存器中,即寄存器的内容为参加操作的数。寄存器的内容为参加操作的数。MOV AL,BH;将将BH中的值送到寄存器中的值送到寄存器AL中。中。MOV AX,BX;将将BX中的值送到寄存器中的值送到

7、寄存器AX中。中。MOV AX,3069H指令中的目标操作数也是寄存器寻址。指令中的目标操作数也是寄存器寻址。可使用的寄存器:可使用的寄存器:16位:位:AX、BX、CX、DX、SI、DI、BX、BP 8位:位:AH、AL、BH、BL、CH、CL、DH、DL 12(3)直接寻址方式直接寻址方式:指令中直接提供参加操作的数所在的有效地址:指令中直接提供参加操作的数所在的有效地址EA(操作数的偏移地址操作数的偏移地址)。例例:MOV AX,2000H EA=2000H,假设假设(DS)=3000H,那么那么PA=32000H*隐含的段为数据段隐含的段为数据段 DS*可使用可使用段跨越前缀段跨越前缀

8、 MOV AX,ES:2000H*编程时编程时,常用符号地址常用符号地址(变量名变量名)代替操作数的偏移量代替操作数的偏移量 如如:MOV AX,BUF 或或 MOV AX,BUF50H30H 32000HAH AL(AX)=3050H30H50H13(4)寄存器间接寻址寄存器间接寻址:由基址寄存器:由基址寄存器(BX/BP)或变址寄存器或变址寄存器(SI/DI)提供参加操作的数所在的有效地址。提供参加操作的数所在的有效地址。MOV AX,BX PA=16d (DS)+(BX)MOV AX,ES:BX PA=16d (ES)+(BX)MOV AX,BP PA=16d (SS)+(BP)*只有只

9、有SI、DI、BX和和BP可作间址寄存器。可作间址寄存器。MOV AX,CX *SRC 和和 DST 的字长一致的字长一致,源操作数为立即寻址时,应指,源操作数为立即寻址时,应指明操作数类型。明操作数类型。MOV DL,BX ;BX指示一个字节单元指示一个字节单元 MOV DX,BX ;BX指示一个字单元指示一个字单元 MOV BYTE PTRSI,3 ;字节字节 MOV WORD PTRSI,3 ;字字 *一般用于访问表格或字符串。一般用于访问表格或字符串。14 有效地址有效地址=(BX)(BP)8位位(SI)16位位(DI)+位移量位移量(5)寄存器相对寻址方式寄存器相对寻址方式:由基址寄

10、存器:由基址寄存器(BX/BP)或变址寄存器或变址寄存器(SI/DI)与一偏移量相加作为参加操作的数所在的有效地址。与一偏移量相加作为参加操作的数所在的有效地址。指令格式指令格式:MOV AX,COUNTSI MOV AX,COUNTSI 或或 MOV AX,COUNT+SIMOV AX,COUNT+SI设设(DS)=3000H,(SI)=2000H,COUNT=3000HDS)=3000H,(SI)=2000H,COUNT=3000H,(35000(35000H)=1234HH)=1234H 则则:PA=35000HPA=35000H (AX)=1234HAX)=1234H*也可使用段跨越前

11、缀也可使用段跨越前缀 MOV AX,ES:COUNTSI*可用于表格或数组数据的访问可用于表格或数组数据的访问15操作码操作码00 偏移量低2A 偏移量高DS 6000BX 1000+DATA 2A0063A0063A00HAHALAX代码段数据段.66H55H指令操作例:指令操作例:MOV AX,DATABX16(6)基址变址寻址方式基址变址寻址方式:由一基址寄存器:由一基址寄存器(BX/BP)和一和一变变址寄存器址寄存器(SI/DI)相加作为参加操作的数所在的有效地址。相加作为参加操作的数所在的有效地址。4种组合指令格式:指令格式:MOV AX,BX DIMOV AX,BX DI MOV

12、AX,BX+DI MOV AX,BX+DI MOV AX,ES:BX SI MOV AX,ES:BX SI*必须是一个基址寄存器和一个变址寄存器的组合必须是一个基址寄存器和一个变址寄存器的组合 MOV AX,BX BP ;错误;错误 MOV AX,SI DI ;错误错误*可用于表格或数组数据的访问可用于表格或数组数据的访问有效地址有效地址=(BX)(SI)(BP)(DI)+17(7)相对基址变址寻址方式相对基址变址寻址方式:由一基址寄存器:由一基址寄存器(BX/BP)和一和一变址变址寄存器寄存器(SI/DI)和偏移量相加作为参加操作的数所在的有效地址。和偏移量相加作为参加操作的数所在的有效地址

13、。如:MOV AX,MASK BX SI 或或 MOV AX,MASK BX+SI 或或 MOV AX,MASK+BX+SI 有效地址有效地址=(BX)(SI)8位位(BP)(DI)16位位+位移量位移量18指令指令操作例:操作例:MOV AX,DATADIBX若(DS)=8000H,(BX)=2000H,(DI)=1000H,DATA=200H则指令执行后AX=5678H8320083200HAHALAX+DATA 0200操作码操作码代码段数据段.78H56HDS 8000BX 2000 DI 100019访问存储器的方式访问存储器的方式 默认的默认的段寄存器段寄存器可跨越的可跨越的段寄存

14、器段寄存器偏移地址偏移地址取指令取指令 CS 无无 IP堆栈操作堆栈操作 SS 无无 SP一般数据访问一般数据访问 DS CS ES SS 有效地址有效地址EABP作为基址的寻址作为基址的寻址 SS CS DS ES BP串操作的源操作数串操作的源操作数 DS CS ES SS SI串操作的目的操作数串操作的目的操作数 ES 无无 DI段段 寄寄 存存 器器 的的 使使 用用 规规 定定与转移地址有关的寻址方式(转移指令中介绍)与转移地址有关的寻址方式(转移指令中介绍)段内寻址段内寻址 段内直接寻址段内直接寻址 JMP NEAR PTR NEXT 段内间接寻址段内间接寻址 JMP TABLE

15、BX 段间寻址段间寻址 段间直接寻址段间直接寻址 JMP FAR PTR NEXT 段间间接寻址段间间接寻址 JMP DWORD PTR BX 用来确定转移指令及调用子程序的入口地址。用来确定转移指令及调用子程序的入口地址。21 数据传送指令数据传送指令 算术运算指令算术运算指令 逻辑运算和移位指令逻辑运算和移位指令 串操作指令串操作指令 程序控制指令程序控制指令 处理器控制指令处理器控制指令22重点关注:重点关注:指令的汇编格式指令的汇编格式 指令的基本功能指令的基本功能 指令支持的寻址方式指令支持的寻址方式 指令的执行对标志位的影响指令的执行对标志位的影响 指令的特殊要求指令的特殊要求23

16、1.数据传送指令数据传送指令 通用数据传送指令通用数据传送指令 MOV、XCHG、PUSH、POP 累加器专用传送指令累加器专用传送指令 IN、OUT、XLAT 地址传送指令地址传送指令 LEA、LDS、LES 标志寄存器传送指令标志寄存器传送指令 LAHF、SAHF、PUSHF、POPF 24(1)通用数据传送指令:)通用数据传送指令:MOV DST,SRC格式格式含义含义MOV reg,imm立即数传送至通用寄存器立即数传送至通用寄存器MOV mem,imm立即数传送至存储器立即数传送至存储器MOV reg,mem存储器内容传送至通用寄存器存储器内容传送至通用寄存器MOV reg1,reg

17、2寄存器之间进行数据传送寄存器之间进行数据传送MOV mem,reg寄存器内容传送至存储器寄存器内容传送至存储器MOV segreg,reg寄存器内容传送至段寄存器(除寄存器内容传送至段寄存器(除CS)MOV segreg,mem存储器内容传送至段寄存器(除存储器内容传送至段寄存器(除CS)MOV reg,segreg段寄存器内容传送至寄存器段寄存器内容传送至寄存器MOV mem,segreg段寄存器内容传送至存储器段寄存器内容传送至存储器25注意注意:*DST、SRC 不能同时为段寄存器不能同时为段寄存器 MOV DS,ES *立即数不能直接送段寄存器立即数不能直接送段寄存器 MOV DS,

18、2000H *DST 不能是立即数和不能是立即数和CS*DST、SRC 不能同时为存储器寻址不能同时为存储器寻址*不影响标志位不影响标志位26如:如:MOV AX,1000HMOV WORD PTR 2000H,1000HMOV BX,1000HMOV AL,BHMOV 1000H,AXMOV DS,AXMOV ES,2000HMOV AX,DSMOV 2000H,SEGREG27存储器与寄存器间数据传送。存储器与寄存器间数据传送。MOV AX,BUF ;BUF是变量,源操作数为直接寻址是变量,源操作数为直接寻址 MOV BH,DI ;源操作数为寄存器间接寻址源操作数为寄存器间接寻址 MOV

19、DI,ES:3SI ;源操作数为变址寻址,使用跨段前缀源操作数为变址寻址,使用跨段前缀 MOV BP,3BX+SI;源操作数为基址加变址寻址源操作数为基址加变址寻址 MOV BUFA,DL ;BUFA是一字节变量是一字节变量 MOV BP,AX ;使用使用SS段寄存器段寄存器 MOV DS:BP,DL;使用跨段前缀使用跨段前缀 MOV BUF,DS ;BUF是个字变量是个字变量 MOV ES,BUF28 (2)堆栈堆栈(Stack)Stack)操作指令操作指令 什么是堆栈什么是堆栈?堆栈有两种形式:一种是硬堆栈,即用寄存器组来实现的。另一种堆栈有两种形式:一种是硬堆栈,即用寄存器组来实现的。另

20、一种是软堆栈,即用主存的一部分空间作堆栈。堆栈的运行方式为先进后出或是软堆栈,即用主存的一部分空间作堆栈。堆栈的运行方式为先进后出或先进先出两种,先进后出型堆栈的操作数只能从一个口进行读或写。堆栈先进先出两种,先进后出型堆栈的操作数只能从一个口进行读或写。堆栈主要用于暂存数据以及在主要用于暂存数据以及在“过程过程”调用或处理中断时暂存断点信息。调用或处理中断时暂存断点信息。堆栈的构造堆栈的构造 现在通常采用软堆栈,由程序设计人员用程序在存储器中划出一块现在通常采用软堆栈,由程序设计人员用程序在存储器中划出一块存储区作为堆栈。这个存储区最大地址的字存储单元为堆栈底部,叫栈底存储区作为堆栈。这个存

21、储区最大地址的字存储单元为堆栈底部,叫栈底(Bottom)Bottom)。在堆栈中存放的数据或断点信息从这里开始,逐渐向地址小的在堆栈中存放的数据或断点信息从这里开始,逐渐向地址小的方向方向“堆积堆积”。在任何时刻,存放最后一个信息的存储单元。在任何时刻,存放最后一个信息的存储单元(即已存放信即已存放信息的最小地址单元息的最小地址单元)为堆栈顶部,叫栈顶为堆栈顶部,叫栈顶(TOP)TOP)。栈顶是随着存放信息的多栈顶是随着存放信息的多少而变的少而变的 由于堆栈顶部是浮动的,为了指示现在堆栈中存放数据的位置,通由于堆栈顶部是浮动的,为了指示现在堆栈中存放数据的位置,通常设置一个指针常设置一个指针

22、堆栈指针堆栈指针SP(Stack Pointer)SP(Stack Pointer),它始终指向堆栈的顶它始终指向堆栈的顶部。部。2980868086堆栈的组织堆栈的组织栈底为堆栈空间的高地址单元,栈顶为低地址单元。栈底为堆栈空间的高地址单元,栈顶为低地址单元。数据进栈后数据进栈后,栈顶向低地址方向浮动;数据出栈后,栈顶向高地址方栈顶向低地址方向浮动;数据出栈后,栈顶向高地址方向调整。向调整。一个一个1616位的数据位的数据进栈进栈的规律是:高位字节存入高地址单元,低位字节存的规律是:高位字节存入高地址单元,低位字节存入低地址单元。入低地址单元。一个一个1616位数据位数据出栈出栈规律是:低位

23、字节弹到目标操作数低位,高位字节弹规律是:低位字节弹到目标操作数低位,高位字节弹到目标操作数据高位。到目标操作数据高位。为了指示栈顶的当前位置,用为了指示栈顶的当前位置,用SPSP存放栈顶的有效地址存放栈顶的有效地址。堆栈是按字组织的堆栈是按字组织的,即每次在堆栈中存取数据均是两个字节。,即每次在堆栈中存取数据均是两个字节。30 堆栈操作指令堆栈操作指令 进栈指令:进栈指令:PUSH SRC 执行操作:执行操作:(SP)(SP)2 (SP)+1,(SP)(SRC)出栈指令:出栈指令:POP DST 执行操作:执行操作:(DST)(SP)+1,(SP)(SP)(SP)+2堆栈:堆栈:先进后出先进

24、后出的存储区,段地址存放在的存储区,段地址存放在SSSS中,中,SP在任何时候都指向栈顶,进出栈后自动修改在任何时候都指向栈顶,进出栈后自动修改SPSP。注意注意:*堆栈操作必须以字为单位。堆栈操作必须以字为单位。*不影响标志位不影响标志位 *不能用立即寻址方式不能用立即寻址方式 PUSH 1234H *DST不能是不能是CS POP CS 31例:假设例:假设(AX)=2107 H,执行执行 PUSH AX*(SP)PUSH AX 执行前执行前(SP)*0707H H21H21H低地址低地址 高地址高地址PUSH AX 执行后执行后进栈方向进栈方向32(SP)*0707H H21H21HPO

25、P BX 执行执行前前(SP)*0707H H21H21H低地址低地址 高地址高地址 POP BX 执行后执行后 (BX)=2107H例:例:POP BX出栈方向出栈方向33例:例:PUSH AXPUSH AX PUSH BX PUSH BX PUSH CX PUSH CX ;其间用到其间用到AX、BX、CX POP AX POP AX ;后进先出后进先出 POP BXPOP BX POP CX POP CXAXAX、BXBX、CXCX结果如何呢?结果如何呢?AX、BX、CX分别为CX、BX、AX的值。34例:例:PUSH AXPUSH AX PUSH BX PUSH BX PUSH CX P

26、USH CX ;此期间使用此期间使用AX、BX、CX POP CX POP CX ;后进先出后进先出 POP BXPOP BX POP AX POP AXAXAX、BXBX、CXCX保持不变。保持不变。35(3)地址传送指令地址传送指令 有效地址送寄存器指令有效地址送寄存器指令:LEA REG,SRC等效于:等效于:MOV REG,OFFSET SRC 执行操作:执行操作:REG SRC 指针送寄存器和指针送寄存器和DS指令指令:LDS REG,SRC 执行操作:执行操作:REG (SRC)DS (SRC+2)相继二字相继二字 寄存器、寄存器、DS 指针送寄存器和指针送寄存器和ES指令指令:L

27、ES REG,SRC 执行操作:执行操作:REG (SRC)ES (SRC+2)相继二字相继二字 寄存器、寄存器、ES 36例:例:LEA BX,BX+SI+0F62H LDS SI,10H LES DI,BX40 H00 H00 H30 H TABLE(DS):1000HMOV BX,TABLE ;(BX)=0040HMOV BX,OFFSET TABLE ;(BX)=1000HLEA BX,TABLE ;(BX)=1000HLDS BX,TABLE ;(BX)=0040H ;(DS)=3000HLES BX,TABLE ;(BX)=0040H ;(ES)=3000H注意注意:*不影响标志位

28、不影响标志位 *REG 不能是不能是段寄存器,一般是段寄存器,一般是SI、DI、BX。*SRC 必须为存储器寻址方式必须为存储器寻址方式37例:例:LEA SI,BX与与MOV SI,BX的区别的区别假设(假设(BX)=1234H,(,(DS)=2000H,(,(21234H)=78H,(21235H)=56H。LEA SI,BX;将寄存器将寄存器BX的内容作为存储器的有效地址的内容作为存储器的有效地址 送入送入SI,(,(SI)=1234HMOV SI,BX;将寄存器将寄存器BX间接寻址的连续两个存储单元间接寻址的连续两个存储单元 的内容送入的内容送入SI 中,(中,(SI)=5678H 2

29、000H:1234H78H2000H:1235H56H38(4)标志寄存器传送指令标志寄存器传送指令 标志送标志送AH指令指令:LAHF(Load AH with Flags)执行操作:执行操作:(AH)(FLAGS的低字节的低字节)*不不影响标志位影响标志位 AH送标志寄存器指令送标志寄存器指令:SAHF(Store AH into Flags)执行操作:执行操作:(FLAGS的低字节的低字节)(AH)*影响标志低位内容影响标志低位内容 标志进栈指令标志进栈指令:PUSHF 执行操作:执行操作:(SP)(SP)-2 (SP)+1,(SP)(FLAGS)*不不影响标志位影响标志位 标志出栈标志

30、出栈指令指令:POPF 执行操作:执行操作:(FLAGS)(SP)+1,(SP)(SP)(SP)+2*影响标志位影响标志位39(5)数据交换指令)数据交换指令交换指令:交换指令:XCHG OPR1,OPR2执行操作:执行操作:(OPR1)(OPR2)XCHG REG,REG;寄存器之间交换寄存器之间交换XCHG REG,MEM;寄存器与存储器之间交换寄存器与存储器之间交换注意注意:*不影响标志位不影响标志位 *不允许使用段寄存器不允许使用段寄存器 *可字节操作,也可字操作可字节操作,也可字操作例:例:XCHG BX,BP+SI XCHG AL,BH40例例:MOV AX,5678H;(AX)=

31、5678HMOV BX,0FFFFH;(BX)=0FFFFHXCHG AX,BX;(AX)=0FFFFH,(,(BX)=5678H41(6)换码指令)换码指令(查表转换指令查表转换指令)换码指令:换码指令:XLAT 或或XLAT OPR执行操作:执行操作:(AL)(BX)+(AL)例如:内存数据段有一张例如:内存数据段有一张1616进制数的进制数的ASCIIASCII码表,设首地址为码表,设首地址为20002000H H,如欲查出表如欲查出表中第中第1111个代码(代码序号从个代码(代码序号从0 0开始)即十六开始)即十六进制数进制数B B的的ASCIIASCII码。码。ASCIIASCII表

32、在表在DSDS段中,并段中,并假设假设(DS)=4000HDS)=4000H。见下页图。见下页图。42303132.394142.4546.42000H+042000H+0BH0129ABEF十六进制数十六进制数ASCII码表码表存储器存储器MOV BXMOV BX,2000H 2000H;(;(BXBX)表首表首 地址地址MOV ALMOV AL,0BH 0BH ;(;(ALAL)序号序号XALT XALT ;查表转换查表转换执行后得到:(执行后得到:(ALAL)=42H=42H=B B43注意注意:*不影响标志位不影响标志位*字节表格字节表格(长度不超过长度不超过256)首地址首地址 (B

33、X)*需转换的代码位移量需转换的代码位移量 (AL)44(7)输入输出指令)输入输出指令 IN、OUT(接口部分介绍)接口部分介绍)只限于用只限于用累加器累加器ALAL或或AXAX来传送信息。来传送信息。功能功能:(:(累加器累加器)I/OI/O端口端口 输入指令输入指令ININ格式格式:IN AL,PORT IN AL,PORT;字节,字节,PORTPORT端口号端口号0 0255255 IN AX,PORT IN AX,PORT;字字 或或 IN ALIN AL,DXDX IN AX IN AX,DXDX例例:IN ALIN AL,80H 80H ;(AL(AL)(80H(80H端口端口)

34、IN ALIN AL,DX DX ;(AL(AL)(DX)(DX)45输出指令输出指令OUTOUT 格式格式:OUT PORTOUT PORT,AL AL;字节,字节,PORTPORT端口号端口号0 0255255 OUT PORTOUT PORT,AX AX;字字 或或 OUT DXOUT DX,ALAL OUT DX OUT DX,AXAX例:例:OUT 68HOUT 68H,AX AX ;(69H(69H,68H68H)(AXAX)OUT DX OUT DX,AL AL ;(DX)(AL)(DX)(AL)在使用间接寻址的在使用间接寻址的IN/OUTIN/OUT指令时,要事先用传送指令把指令时,要事先用传送指令把I/OI/O端口号设置到端口号设置到DXDX寄存器,如:寄存器,如:MOV DXMOV DX,220H220H IN AL IN AL,DX ;DX ;将将220220H H端口内容读入端口内容读入ALAL46 第第108页页题题3-5,题,题3-7,题,题3-8汇编语言程序的上机过程汇编语言程序的上机过程演示演示

侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|