- 1、本文档共132页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微型计算机原理及应用;第二章 8086/8088指令系统; 2.1 寻址方式
2.2 8086/8088指令系统
2.2.1 数据传送指令
2.2.2 算术运算指令
2.2.3 逻辑运算和移位指令
2.2.4 程序控制指令
2.2.5 串操作指令
2.2.6 标志处理与CPU控制指令;2.1 8086/8088寻址方式;汇编语言是一种符号语言,它用助记符来表示操作码,用符号或符号地址来表示操作数或操作数地址,它与机器指令是一一对应的。;寻址方式:是指令中用于说明如何寻找操作数的方法。;8086/8088的基本寻址方式有六种:;一、 寄存器寻址;二、 立即寻址;三、 直接寻址;……;也可以指向内存中其他段的数据,这时要在相应的偏移地址前加段超越符和“ :”。;四、 寄存器间接寻址;1、对DI、SI、BX间接寻址;……;例1:MOV AX, ES:[BX];五、 变址寻址;1、对DI、SI、BX变址寻址;MOV AX, TAB[DI];六、 基址加变址寻址;1、BX作为基地址;MOV AX, VAL[BX+SI];12H;2.2 8086/8088指令系统;一、数据传送指令;
CS,IP不能作为目的操作数 MOV CS, AX
两个段寄存器间不能直接传送 MOV SS, DS
立即数不能直接传送给段寄存器 MOV DS,2000H
内存单元间不能直接传送 MOV [SI], [2000H]
立即数不能作为目的操作数 MOV 1000H, AX;MOV BL, AX
MOV 100, CX
MOV [SI], DI
MOV CS, AX
MOV [SI], [DI]
MOV BH, 2[DI]
MOV AX, CS
MOV SS, 2400H
MOV [BP+4], AX;2. 堆栈指令;1、格式:PUSH OPRD
功能: (OPRD)入栈;注意:
只能对16位数进行操作,一次压入弹出一个字;MOV AX, 1000H
PUSH AX
MOV BX, AX
PUSH [BX]
POP [1002H]
POP BX;3. 交换指令XCHG;4. 累加器专用指令(只与AX或AL有关,与AH无关);IN AL, 40H ;2) 换码(查表)指令 XLAT;注意:使用该指令前,应先建立一张表,该表的最大容量为256字节。(默认在数据段);例: 从5号端口输入十进制数,转换为显示编码后从20号端口输出。;例:向端口40H送字符35的显示编码。;5. 地址传送指令;2) LDS ;3) LES;6. 标志寄存器传送指令;3)PUSHF: 标志寄存器入栈命令
4)POPF:将栈顶内容送标志寄存器PSW
注意:这个命令将改变PSW的内容。;二、算术运算指令;参与加、减运算的操作数可如图所示。 ;1、加法指令
1) 不带进位的加法;设 BX=C588H, 执行 ADD BH, BL后?;2) 带进位的加法;例:两???四字节无符号数相加,这两个数分别放在数据段以2000H和3000H开始的存储单元内,高位在高地址,低位在低地址,要求运算结果放在2000H开始的单元内。;3) 增量指令;2、 减法指令
1) 不带借位的减法;MOV CX, 5049H
SUB CX, 0E2D7H;2) 带借位的减法;3) 减量指令;4) 求补指令;5) 比较指令; 比较指令主要用于比较两个数之间的关系 ;3、乘法指令;无符号数乘法指令;2) 有符号数乘法指令;乘法运算时,结果影响CF和OF,AF, PF, SF, ZF标志位无意义。;例:;4、除法指令;1)无符号数除法指令;2) 有符号数乘法指令;注意:
除法运算后,所有的标志位都是不确定的,没有意义;
用IDIV指令时,如果是双字除以一个字,则商的范围为-32768~32767,如果是一个字除以一个字节,则商的范围为-128~127。如果超出这个范围,会作为除数为0来处理,产生0号中断;
8086系统规定余数的符号和被除数相同;
当8位数除以8位数,16位数除以16位数时,必须对被除数进行扩展。;将字节扩展成字的指令:CBW;5、十进制调整指令;BCD码加法十进制调整指令;7+5=12 用非压缩的BCD码表示运算过程:;2) 压缩BCD码加法调整指令 DAA;MOV AX, 1234H
MOV BX, 5678H
ADD AL, BL
DAA
MOV CL, AL
MOV AL, AH
ADC AL, BH
DAA
MOV AH, AL
MOV AL, CL;
文档评论(0)