ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:24.52KB ,
资源ID:16027596      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16027596.html】到电脑端继续下载(重复下载不扣费)。

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

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(大数据的传送类指令Word格式文档下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

大数据的传送类指令Word格式文档下载.docx

1、 目标 XCHG XLAT 字节或字传送 字压入堆栈 字弹出堆栈 字节或字交换 字节翻译目标地址传送指令 LEA 目标,源 LDS LES 目标,源 装入有效地址 装入DS寄存器 装入ES寄存器标志位传送指令 LAHF SAHF PUSHF POPF 将FR低字节装入AH寄存器 将AH容装入FR低字节 将FR容压入堆域 从堆栈弹出FR容IO数据传送指令 IN 累加器,端口 OUT 端口,累加器 从端口输入字节或字 将字节或字输出到端口(1)MOV 传送指令指令格式:MOV OPD,OPS指令功能:将源操作数OPS传送到目的操作数OPD,即(OPD)(OPS)。源操作数OPS可以是816位的通用

2、寄存器、段寄存器、存储器中某单元或816位的立即数。(2)PUSH进栈(压入)指令PUSH OPS将源操作数OPS压入堆栈,即SP2 SP,OPS (SPH,SP)。源操作数0PS可以是16位通用寄存器、段寄存器或存储器中的数据字,以保证堆栈按“字”操作。源操作数OPS不能是立即数。由于堆栈是按“后进先出”方式工作,所以每次执行PUSH指令时,总是首先修改栈指针(SP)2 SP (即SP先减2),使之指向新栈顶,然后把源操作数压入堆栈中SP所指示的位置,高字节在较高地址单元,低字节在较低地址单元中(真正的栈顶单元)。由于堆栈总是按字操作,所以,SP总是指向字地址单元,堆栈段基址由SS确定。堆栈

3、最大容量为64K。(3)POP出栈(弹出)指令POP OPD将堆栈中当前SP所指示的栈顶的一个字传送到指定的目的操作数OPD中,同时修改栈指针,即(SP1,SP) OPD,(SP) 2 SP,出栈操作是进栈操作的逆过程。目的操作数OPD可以是16位通用寄存器、段寄存器或存储单元,但CS不能作目的操作数。和进栈指令不同的是,出栈操作时是先将数据弹出送入目标地址,然后修改栈指针,即将SP减2送SP,这时SP向高地址端移动,指向新的栈顶。(4)XCHG数据交换指令XCHG OPD,OPS把一个字或字节的源操作数OPS与目的操作数OPD互相交换位置。即(OPD) OPS,(OPS) OPD。源操作数O

4、PS可为通用寄存器或存储器,目的操作数OPD只能为通用寄存器。因此,交换指令可以在通用寄存器之间、通用寄存器与累加器之间、通用寄存器与存储器之间进行。段寄存器不能作为操作数。(5)XLAT查表转换指令(换码指令)XLAT 转换表 或 XLAT 指令功能:将BX为首址,AL为位移量的字节存储器单元中的数据 AL,即BXAL AL。查表转换指令XLAT可用来将一种代码转换成另一种代码,或者说可使累加器中的一个值变换为存表格中的某一个值。具体实现是这样的:使用XLAT指令之前必须先在存(数据段)中建立一个表格,表格的容就是所需要转换的代码,表格最多不超过256个字节,将表格的起始地址事先装入BX寄存

5、器中,AL中存放所要查找的对象(表中某一项)到表首地址间的位移量。执行XLAT指令时,就将BX中的容和AL中的容相加作为有效地址,将表格中与该地址相对应的单元中的容取出并传送到AL中。也就是说,指令执行后所要查找的对象(即转换后的代码)就在AL中,BX中容保持不变。可见,只要改变AL的值即可从表中找到不同的代码。例:利用XLAT指令将一位十六进制数转换为对应的ASCII码。为实现这一转换,首先应在存数据段建立一个表格,表中存放着十六进制数0,1,F的ASCII码,并将表格的首地址置于BX中,AL中置入所要查找的十六进制数距表头的位移量,比如现在要查找表中第5项容,则AL中应置入4。实现上述操作

6、的程序如下:DATA SEGMENTTAB DB 0 1 2 3 4 5 6 7 8 9 A B C D E FDATA ENDMOV BX,OFFSET TAB ;变量TAB的有效地址FA BX,即表示首址 AL,4TAB表中第5项的位移量4 AL(BX+AL)(TAB4)34H AL上述过程如图3.5所示。程序中DATA SEGMENT到DATA END之间的语句是十六进制数的ASCII码表。2地址传送指令80868088指令系统中有3条专门用于传送地址的指令:LEA、LDS和LES。可用来传送操作数的段地址或偏移地址。(1)LEA取有效地址指令LEA按源操作数OPS提供的寻址方式计算偏移

7、地址(即EA),并将该偏移地址传送到目的操作数OPD所指示的16位寄存器中。注意:LEA指令中要求源操作数OPS所提供的必须是一个存储器单元地址,而目的操作数OPD必须是一个除段寄存器以外的16位寄存器。另外,使用LBA指令时应注意它与MOV指令的区别,MOV指令传送的是源操作数中的容,而LEA指令传送的是源操作数的有效地址。注意下面两条指令的区别: AX,SI将SI所指示的存储单元中的容送AX将SI所指的存储单元的EA送AX下列两条指令是等价的,都是将变量NUM的EA送SI中。 SI,OFFSET NUM将变量NUM的EA送SI中,;OFFSET为数值返回运算符 SI,NUM与上条MOV指令

8、等效,将NUM的EA送SI这说明有时可用MOV指令来代替LEA指令。(2)LDS送偏移地址及数据段首址指令LDS(OPS) OPD,(OPS2) DS该指令执行时是把从源操作数OPS所指示的连续4个字节(双字)存储器单元中的操作数送到目的寄存器OPD和DS中,其中低位地址的两个字节传送到OPD指示的寄存器中,高位地址的两个字节传送到段寄存器DS中。可见,LDS指令要求:OPD一定要是一个16位通用寄存器,常用SI寄存器。OPS所提供的一定要是一个存储器地址,且是一个地址指针,从指针所指示的地址单元开始,连续4个字节单元的容分别送入OPD和DS中。(3)LES传送偏移地址及附加数据段首址指令LE

9、S(OPS) OPD,(OPS2) ESLES指令功能与LDS类似,所不同的是将OPS所指示的4个连续单元中的后两个字节(高地址)单元中的容送入附加数据段寄存器ES中而不是送入DS,前两个字节(低地址)单元中的容送OPD所指示的16位寄存器中。3标志位传送指令标志位传送指令共有4条:LAHF(标志装入AH)、SAHF(AH的容存入标志寄存器)、PUSHF(标志压入堆栈)和POPF(标志出栈)。这些都是单字节指令,指令的操作数是隐含的,因此这些指令都是无操作数指令。通过这些指令的执行,可以读出当前标志寄存器中的容,也可以对标志寄存器设置新值。(1)LAHF标志寄存器低字节送AH指令LAHF把标志

10、寄存器FR中SF,ZF,AF,PF和CF(8080和8085所具有的标志)分别送到AH中第7,6,4,2和0位,AH中第5,3,1位容未定义,可任意,标志寄存器本身容不变。(2)SAHF AH送标志寄存器低字节指令SAHFSAHF的功能与LAHF指令相反,是将AH中第7,6,4,2和0位状态传送至标志寄存器FR中的SF,ZF,AF,PF和CF位,取代这些标志位原容,而OF,IF,TF,DF标志不受影响。可见,通过该指令可以对标志位进行重新设置,所以该指令也叫设置标志指令。(3)PUSHF标志进栈指令PUSHF把整个标志寄存器的容压入堆栈,同时修改栈指针,即SP2 SP,该指令执行后不影响标志位

11、。(4)POPF标志出栈指令POPFPOPF的功能正好与PUSHF相反,是将当前堆栈指针SP所指的一个字传送到标志寄存器FR中,同时修改栈指针即SP2 SP。PUSHF和POPF这两条指令用于人为地保存和恢复标志寄存器,常用过程调用和中断服务程序的开头与结尾,用来保存主程序的状态标志。这两条指令的另一个用途是用来改变跟踪单步标志TF,80868088指令系统中没有能直接改变TF的指令,若要改变TF,可先用PUSHF指令将标志寄存器压入堆栈,然后设法改变栈顶单元中D8位(TF位),然后再用POPF指令把堆栈中修改过的容送回标志寄存器。这样,只有TF位被改变,其它标志位不变。4输入输出指令(累加器

12、专用传送指令)输入输出数据传送指令简称IO指令,共两条,一条是输入指令IN,另一条是输出指令OUT。IO指令用来完成累加器ALAX与IO端口问的数据传送,指令中给出IO端口的地址,当端口地址值255时,端口地址由指令中直接给出,当端口地址值256时用间接方式,先将端口地址位置于DX中,然后指令中用DX作间址方式表示。因此,IO指令有两种格式。(1)IN输入指令直接方式(长格式):IN AL,端口地址字节(8位)传送 AX,端口地址字 (16位)传送间接方式(短格式): AL,DX端口地址放在DX寄存器中 AX,DX将端口地址中的8位或16位数传送到AL或AX中,将端口中的16位数输入时,先将指定端口中的字节数送入AL中,再将端口地址1,然后将该端口中的字节数送入AH中。由上可知,IN指令有两种格式,当端口地址为00FFH时用直接方式,端口地址值包含在指令中;当端口地址为0000FFFFH时,用间接方式,即先将端口地址放在DX中,指令中用DX代替端口地址。注意,这时指令的书写形式与寄存器寻址方式相似,但这里实际上是间址方式。 AL,02FH将02FH端口的一个字节数送入AL AX,060H将060H端口的容送AL,将061H端口的容送AH DX,300H先将端口地址300H送人DX中将300H端口的容送入AL中(2)OUT输出指令直接方式:OUT端口地

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1