- 1、本文档共63页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理课精要
七、输入输出指令 IN AL,n / IN AX,n ;从8位端口读取一个字或字节 OUT n,AL / OUT n,AX ;向8位端口写一个字或字节 IN AL,DX / IN AX,DX;从任意端口读取一个字或字节 OUT DX,AL / OUT DX,AX;向任意端口写一个字或字节 说明:当端口地址号为00H~FFH,采用第一种格式,共寻址256个端口;任一端口地址都可采用第二种格式。 * * 2、带符号数相乘 IMUL SRC; 如果乘积的高半部分仅仅是低半部分符号位的扩展,则标志位(CF)=(OF)=0;否则,如果高半部分包含乘积的有效数字,则(CF)=(OF)=1。 例:MOV AL,47H MOV BX,304AH CBW IMUL BX 举例比较MUL和IMUL不同 例: MOV AL,0B4H MOV BL,11H MUL BL MOV AL,0B4H MOV BL,11H IMUL BL 3、AAM 乘法运算时,AAM指令可对不压缩的BCD码进行调整,乘法的ASCⅡ调整指令。 例: 7*9=63 MOV AL,07H ;(AL)=07H MOV BL,09H ;(BL)=09H MUL BL ;(AX)=07H*09H=003FH AAM ;(AH)=06H,(AL)=03H 执行结果 (AX)=0603H 四)除法指令: 1、无符号数除法指令 DIV SRC ; 在DIV指令中,一个操作数(被除数)隐含在累加器AX(字节除法)或DX,AX(字除法)中,另一个操作数SRC(除数),必须是寄存器或存储器操作数。为操作数时必须指明是字节还是字类型。 1)若除数为零,或商的值超出范围FFH(FFFFH)则内部产生一个类型0中断。 2) AX/字节 AL,余数 AH DX,AX/字 AX,余数 DX 除2相当于右移一位,移位指令比除法指令执行速度快 2、带符号数除法 IDIV SRC ; 余数的符号总是与被除数的符号相同。 举例说明DIV与IDIV不同。 例: MOV AX,0501H MOV BL,0C6H DIV BL MOV AX,0501H MOV BL,0C6H IDIV BL MOV AX,5CA3H MOV BX,0106H DIV BX MOV DX,0000H MOV AX,5CA3H MOV BX,0106H DIV BX 编程实现5CA3H÷106H=? MOV AX,5CA3H CWD MOV BX,0106H DIV BX 四、逻辑运算和移位指令 一) 逻辑运算指令 1 NOT DEST ; (对操作数求反,然后回送操作数) 操作数可以是寄存器,也可以是存储单元,不能为立即数和段 寄存器。对标志位没有影响。 AND DEST, SRC ;按位逻辑与,结果回送到目的操作数 目的操作数可以是寄存器、存储单元;源操作数可以是寄存器、存储单元及立即数;不能同时为存储单元。 AND指令可以用于屏蔽某些不关心的位,而保留另一些感兴趣的位。为了做到这一点,只需将欲屏蔽的位和“0”进行逻辑“与”,而将要求保留的位和“1”进行逻辑“与”即可。 AND BYTE PTR[SI][BX],0FH AND WORD PTR[SI][BX],0FH 3 TEST DEST, SRC ;本指令完成AND同样的操作.但并不回送结果 ,类似CMP 例:TEST BYTE PTR[SI],80H 4 OR DEST, SRC ;按位或,结果回送到目的操作数 5 XOR DEST, SRC ; 对指令的操作数进行“异或”运算 例:MOV AL,3CH XOR AL,0FFH ************************************************* 例:XOR BL,BL SUB BL,BL MOV BL,00H ************************************************* 二) 移位指令 SAL (Shift Arithmetic Left)算数左移指令 除了AF,其他标志位都会影响。 例:MOV AL,A3H SAL AL,1 MOV CL,2 SAL AL,CL SAL DEST, 1 CL 0 CF SHL (Shift Loic Left)逻辑左移指令 SHL DEST, 1
文档评论(0)