8086微型计算机接口,微型计算机接口原理第三章 8088 8086指令系统.ppt

1

1

8086指令系统(2)

2

三、逻辑运算和移位类

逻辑运算

移位操作

非循环移位

循环移位

3

逻辑运算和移位指令

4

指令类型

逻辑运算

与,或,非,异或

移位操作

非循环移位,循环移位

5

一、逻辑运算

逻辑运算指令对操作数的要求大多与MOV指令相同。“非”运算指令要求操作数不能是立即数;

除“非”运算指令外,其余指令的执行都会使标志位OF=CF=0

6

1.“与”指令:

格式:

AND OPRD1,OPRD2

操作:

两操作数相“与”,结果送目标地址。

7

“与”指令的应用

实现两操作数按位相与的运算

AND BL,[SI]

使目标操作数的某些位不变,某些位清零

AND AL,0FH

在操作数不变的情况下使CF和OF清零

AND AX,AX

8

“与”指令应用例

从地址为3F8H的端口中读入一个字节数,如果该数的bit1位为1,则可从38FH端口将DATA为首地址的一个字输出,否则就不能进行数据传送。

编写相应的程序段。

9

“与”指令应用例

开 始

取待输出数的偏移地址

读入状态字

测试bit1位状态

Bit1=1?

取输入口地址

取输出口地址

输出一个字

N

Y

10

“与”指令应用例

LEA SI,DATA

MOV DX,3F8H

WATT:IN AL,DX

AND AL,02H

JZ WATT ;ZF=1转移

MOV DX,38FH

MOV AX,[SI]

OUT DX,AX

11

2.“或”运算指令

格式:

OR OPRD1,OPRD2

操作:

两操作数相“或”,结果送目标地址

12

“或”指令的应用

实现两操作数相“或”的运算

OR AX,[DI]

使某些位不变,某些位置“1”

OR CL,0FH

在不改变操作数的情况下使OF=CF=0

OR AX,AX

13

“或”指令的应用例

为了保证数据通信的可靠性,往往需要对传送的ASCII码数据进行校验。校验的方法之一就是使用奇偶校验,偶校验是使用传送的ASCII码中1的个数为偶数,奇校验则使1的个数为奇数。奇偶校验位放在ASCII码的最高位上。

14

“或”指令的应用例

OR AL,AL

JPE GOON

OR AL,80H

GOON:….

PF=1转移

15

“或”指令的应用

将一个二进制数9变为字符‘9’

如何实现?

16

3.“非”运算指令

格式:

NOT OPRD

操作:

操作数按位取反再送回原地址

注:

指令中的操作数不能是立即数

指令的执行对标志位无影响

例:NOT BYTE PTR[BX]

17

4.“异或”运算指令

格式:

XOR OPRD1,OPRD2

操作:

两操作数相“异或”,结果送目标地址

例:

XOR BL,80H

XOR AX,AX

两操作数自身相异或,结果为零

18

5.“测试”指令

格式:

TEST OPRD1,OPRD2

操作:

执行“与”运算,但运算的结果不送回目标地址。

应用:

常用于测试某些位的状态

19

例:

从地址为3F8H的端口中读入一个字节数,当该数的bit1, bit3, bit5位同时为1时,可从38FH端口将DATA为首地址的一个字输出,否则就不能进行数据传送。

编写相应的程序段。

20

源程序代码:

LEA SI,DATA

MOV DX,3F8H

WATT:IN AL,DX

MOV DX,38FH

MOV AX,[SI]

OUT DX,AX

AND AL,2AH

CMP AL,2AH

JNZ WATT

TEST AL,02H

JZ WATT ;ZF=1转移

TEST AL,08H

JZ WATT

TEST AL,20H

JZ WATT

AND AL,2AH

XOR AL,2AH

JNZ WATT

21

二、移位指令

非循环移位指令

循环移位指令

注:

移动一位时由指令直接给出;

移动两位及以上,则移位次数由CL指定。

22

1. 非循环移位指令

逻辑左移

算术左移

逻辑右移

算术右移

23

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值