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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

计算机组成原理 指令.docx

1、计算机组成原理 指令8086/8088指令除串操作指令外,所有指令只允许有一个操作数在存储器中。1. 传送类指令(数据传送指令,专用累加器传送指令,标志位传送指令,地址传送指令)(一) 数据传送指令(1) MOV数据传送指令指令格式:MOV DST,SRC;操作数可以是字节、字,源、目的操作数位数必须一致且不能同时在存储器中。源操作数:可在通用R、段R、存储器中、或为立即数。目的操作数:不能为立即数。目的地址是段R名时,源操作数不能是立即数(立即数不能直接传给段R)段R间不能直接传送数据。 例 1:立即数送R或存储单元 MOV AH,2AH; 字节传送; MOV CX,1234H; 字传送;

2、MOV DA_BYTE, 02FH; 字节传送; MOV DA_WORD,1020H; 字传送;例 2: 寄存器之间传送 MOV AL, BL; MOV ES, AX;例 3:R 与 M 之间传送。 MOV AL, DB_BYTE例 4: 把DA_BYTE1字节单元内容传送到DA_BYTE2字节单元中。 MOV AH, DA_BYTE1 MOV DA_BYTE2, AH例 5: 把立即数1020H传送给DS ,ES。 MOV AX , 1020H MOV DS , AX MOV ES , AX(2)XCHG交换指令XCHG DST, SRC (SRC DST) 将源地址的内容与目的地址内容相互

3、交换。 交换数据可为字、字节,只能在通用R之间或R 与M 之间进行。不能使用段R、立即数。例、数据段中定义了两个字变量VAR1和VAR2,(VAR1)= 1234H,(VAR2)= 5678H;将这两个字单元内容互换。MOV AX,VAR1 XCHG VAR2,AX MOV VAR1,AX(或:XCHG VAR1,AX)(3)PUSH进栈指令 格式:PUSH SRC 8086的堆栈由SS指定的一段存储器( 64KB)构成。 自下向上生成的堆栈。 SP初始化:堆栈段长(MAX:FFFFH)SP初始值指向:(SS)*16 + 段长;(即:栈底+2单元 8086/8088堆栈规定:以字(2个字节)为

4、单位进行存取。 低地址存放字的低字节单元的内容; 高地址存放字的高字节单元的内容。 堆栈操作: 设置堆栈:对堆栈段R(SS)及堆栈指针(SP)赋初值。编程设置堆栈段。(4)POP出栈指令 格式:POP DST(5)、IN(input)输入指令 1、直接I/O端口寻址方式: IN AL,pn (字节) IN AX,pn (字)指令功能:AL/AX (pn);其中:pn表示I/O端口地址(或称作:I/O端口号)。2、间接I/O端口寻址方式:IN AL,DX (字节) IN AX,DX (字)指令功能:AL/AX (DX);其中:DX中的内容为I/O端口地址。例、把I/O端口379H的字节内容传送到

5、主存数据段的VARBYTE字节单元中。 MOV DX,379H IN AL,DX MOV VARBYTE,AL(6)OUT(output)输出指令1、直接I/O端口寻址方式: OUT pn,AL (字节) OUT pn,AX (字)指令功能:pn (AL/AX);其中:pn表示I/O端口地址(或称作:I/O端口号)。2、间接I/O端口寻址方式: OUT DX,AL (字节) OUT DX,AX (字)指令功能:DX (AL/AX);其中:DX中的内容为I/O端口地址。例、 把主存数据段的VARBYTE字节单元中的内容传送到I/O端口230H中。 MOV DX,230H MOV AL,VARBY

6、TE OUT DX,AL(7)XLAT(translate)换码指令指令格式:XLAT TABADDR 指令功能:AL (BX)+(AL)其中: TABADDR中的方括号表示本项内容可以省略,TABADDR表示换码表首地址的符号地址。BX的内容为换码表的首地址在数据段中的偏移量,AL的内容是相对于表格首地址的偏移量。例、 把十进制数“3”转换为相应的ASCII码。在主存的数据段设置一个转换表,内容为09的ASCII码(30H39H),表名为TAB1,位于数据段偏移2字节处,假定(DS)=1200H。可用下述指令完成转换: MOV BX,0002H MOV AL,3 XLAT TAB1指令执行后

7、,(AL)=33H,即:十进制数“3”的ASCII码。 (二)标志位传送指令 对标志位进行存取操作,无操作数(1)取标志指令LAHF:将标志R的低八位传送到AH中。(2)存标志指令SAHF:将AH内容传送给标志R的低八位。(设置或恢复SF、ZF、AF、PF、CF,对高八位无影响)。例:将标志R的低8位清0 。 MOV AH ,00H; SAHF (3)标志R进栈指令:PUSHF 16位标志R内容送SP所指栈顶字单元中。(4)标志R出栈指令:POPF 栈顶字单元内容弹出到标志R中。(三)地址传送指令 将存储器操作数的地址(偏移量、段基值)传送给R。(1)装入有效地址指令 LEA DST,SRC;

8、 将源OP数的有效地址(偏移量)传送到目的地址中。 例: LEA SI ,BUF; 源操作数须是存储器操作数(可以是字节也可以是字) 。 目的操作数只能是16位通用R。(2)装入地址指针指令(LDS/LES) 存储单元的地址指针:4个字节 段基值:存于2个高字节单元中偏移量:存于2个低字节单元中指令功能:从存放地址指针的4个字节存储单元中,同时取出段基值和偏移量,分别送到段R(DS/ES)和通用R中。LDS DST ,SRC; 从存放地址指针的4个单元中,同时取出LES DST ,SRC; 段基值 DS(ES) 偏移量 通用RSRC: 存储器OP数 DST: 16位通用R例: LDS SI,

9、ADDR_TABLEBX; DS:ADDR_TABLEBX中存放的偏移量 SI,新的段基值 DS。2、算术运算类指令(一)加法运算指令(1)加法指令指令格式: ADD DST, SRC; (SRC)+(DST) DST设置标志寄存器的OF、SF、ZF、AF、PF、CF标志位。源操作数:可在通用R、存储单元中,或为立即数。目的操作数: 在通用R或存储单元中。(2)带进位加法指令指令格式: ADC DST,SRC; (SRC)+(DST)+CF DST (主要用于大于16位数的加法运算)例:32位无符号数存放在DX(高16),AX(低16位)中,若要加上常数76F1A23H,则用下述指令实现: A

10、DD AX,1A23HADC DX,76FH;(将低16位进位加上)(3)加“1”指令: 指令格式:INC DST;(不影响CF) (DST)+1 DST (OP数:字、字节、无符号数 )只能在通用寄存器或存储单元中,不能是立即数。主要用于计数或修改地址指针。(二)减法运算指令(1)减法指令指令格式: SUB DST , SRC; (DST)-(SRC) DST例:SUB AL,DA_BYTE; (AL)-(DA_BYTE) AL(2)带借位减法指令 指令格式: SBB DST, SRC; (DST)-(SRC)-CF DST (3)减“1”指令 指令格式: DEC DST; (DST)-1

11、DST(不影响CF) (OP数:字、字节、无符号数 ) 只能在通用寄存器或存储单元中,不能是立即数。 主要用于计数或修改地址指针。(4)求负数指令 指令格式: NEG DST; 0-(DST) DST 字节操作数:-128;字操作数:-32768;执行NEG后,操作数不变,OF置“1”。 操作数为0,NEG后仍为0,CF置0;否则CF置1。例: (AL)=25H=(00100101)2 NEG AL; (AL)=DBH=(11011011)2(5)比较指令 指令格式: CMP DST,SRC; (DST)-(SRC) 置标志位 ,不保留两数相减结果若:ZF=1,则(DST)=(SRC)无符号数

12、: CF=0:(DST)(SRC);带符号数: OF=SF:(DST)(SRC); OFSF:(DST)0FFH 或 (AX)0FFFFH ;产生0型中断(除法出错中断)。(2)带符号数除法指令 指令格式: IDIV SRC 操作数、商及余数均带符号且用补码表示。当除数为0 或商超出最大值或最小值时,产生0型中断。最大正数商:+127(字节),+32767(字) 最小负数商:-128(字节), -32768(字)(五)类型转换指令 指令格式:CBW/CWD;隐含使用AH/DX CBW :扩展AL中的符号位至AH中 CWD:扩展AX中的符号位至DX中例: 两个8位带符号数存于BYTE1,BYTE

13、2字节单元中,将BYTE1除以BYTE2,商放入QUOT字节单元中。MOV AL , BYTE1 CBW IDIV BYTE2 MOV QUOT , AL 3.逻辑运算类指令(一)逻辑运算指令(按位进行逻辑运算)指令格式:逻辑与:AND DST ,SRC; SF,ZF,PF 逻辑或:OR DST,SRC; 按结果设定 逻辑异或:XOR DST,SRC; CF,OF总为0 AF不确定逻辑非指令:NOT DST; 对标志位无影响例: (AL)=10100101, AND AL,0FH 指令运算结果:( AL ) = 10100101 0F = 00001111 00000101 AL标志位:SF=0,ZF=0,PF=1例:AL中最高位置1; OR AL ,80H例: AL中最低位求反 ; XOR AL ,01H(二)测试指令 指令格式: TEST DST, SRC; 按位与,结果不

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

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