上机实验04 逻辑运算编程实验

1.逻辑非指令NOT

格式:NOT OPD

操作形式:OPD←。

描述:

指令的功能是把操作数中的每位变反,即:1001。将目的地址中的内容逐位取反后送入目的地址。操作数不能用立即数,指令执行后对标志位无影响,也可用于求补。

举例:

MOV AX1234H ;(AX=1234H

NOT AX       ;(AX=EDCBH

2.逻辑与指令AND

格式:AND  目的操作数,源操作数

操作形式:DOPD ← DOPDSOPD

描述:

1)逻辑与运算法则为11=110=001=000=0

2)指令的功能是把源操作数中的每位二进制与目的操作数中的相应二进制进行逻辑乘运算操作,操作结果存入目的操作数中。

3)受影响的标志位:CFOF0PFSFZF根据运算定, AF无定义。

4)利用AND指令与01相与可对操作数的某些位进行屏蔽和保留操作。

举例:

AL中第0位和第7位清零。

MOV AL0FFH                        

          AND AL7EH 

3.逻辑或指令OR

格式:OR 目的操作数,源操作数

操作形式:DOPD ← DOPDSOPD

描述:

1)逻辑或运算法则:11=110=101=100=0

2)指令的功能是把源操作数中的每位二进制与目的操作数中的相应二进制进行逻辑加运算操作,操作结果存入目的操作数中。

3)受影响的标志位:CFOF0PFSFZF根据运算定, AF无定义。

4)利用OR指令与10相或,可对操作数置1操作,和保留原位不变。

举例:

         AL中第0位和第7位置1

         MOV  AL0   

OR   AL81H

4.逻辑异或指令XOR

格式:XOR目的操作数,源操作数

操作形式:DOPD ← DOPDSOPD

描述:

1)逻辑异或运算法则:11=010=101=100=0

2)指令的功能是把源操作数中的每位二进制与目的操作数中的相应二进制进行逻辑“异或”操作,操作结果存入目的操作数中

3)受影响的标志位:CFOF0PFSFZF根据运算定, AF无定义。

4)利用该指令与1和0相异或,分别可以操作数对应位变反和保持不变。

5)对操作数自身异或运算可对寄存器和CF、OF置0。

举例:

1)AL中的07位变反

XOR  AL81H

2)将AX清零

     XOR  AXAX

5.逻辑测试指令TEST

格式:TEST 目的操作数,源操作数

操作形式:DOPDSOPD

描述:

1)该指令与指令AND的区别在于,两操作数相与后不保存结果。

2)指令的功能是把源操作数的每位二进制与目的操作数中的相应二进制进行逻辑“与”操作,根据所得结果设置有关标志位,为随后的条件转移指令提供条件,由于不保存差值,所以不会改变指令中的操作数。

3)受影响的标志位:CFOF0PFSFZF根据运算定, AF无定义。

     举例:

     1)TEST AX100BB表示二进制

          JNZ  AA ;如果AX右数第三位为1JNZ将跳转到AA处。

     2)测试寄存器是否为空

          TEST AXAX

          JZ  AA

          如果AX为零,则ZF标志为1JZ将跳转到AA



写出下面程序各语句运行后寄存器和状态字的值




以上数据的的操作过程如下:








走到上图这个步骤的时候,会进入循环,这个时候,我们进行一下操作跳出循环


到以上步骤的时候,即到MOV DX,0000的之后,再次进入了循环,这个时候。关闭页面,重新进入,利用-U查看地址,然后输入-G=000,002D,002D是我们要跳转到的地址。再之后,就进入了但是,出现的第一条是多出来的信息,MOV AH,4C对应的应该是下一条的,即AX=4C24。。。。


































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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值