逻辑运算编程实验

今天的计算机组成原理我们主要观察和了解汇编语言的逻辑运算指令

1.逻辑非指令NOT
格式:NOT OPD
操作形式:OPD← 。
描述:
指令的功能是把操作数中的每位变反,即:1←0,0←1。将目的地址中的内容逐位取反后送入目的地址。操作数不能用立即数,指令执行后对标志位无影响,也可用于求补。
举例:
MOV AX,1234H ;(AX)=1234H
NOT AX      ;(AX)=EDCBH
2.逻辑与指令AND
格式:AND  目的操作数,源操作数
操作形式:DOPD ← DOPD∧SOPD。
描述:
(1)逻辑与运算法则为1∧1=1,1∧0=0,0∧1=0,0∧0=0。
(2)指令的功能是把源操作数中的每位二进制与目的操作数中的相应二进制进行逻辑乘运算操作,操作结果存入目的操作数中。
(3)受影响的标志位:CF、OF为0,PF、SF和ZF根据运算定, AF无定义。
(4)利用AND指令与0或1相与可对操作数的某些位进行屏蔽和保留操作。
举例:
将AL中第0位和第7位清零。
MOV AL,0FFH                        
          AND AL,7EH 
3.逻辑或指令OR
格式:OR 目的操作数,源操作数
操作形式:DOPD ← DOPD∨SOPD
描述:
(1)逻辑或运算法则:1∨1=1,1∨0=1,0∨1=1,0∨0=0。
(2)指令的功能是把源操作数中的每位二进制与目的操作数中的相应二进制进行逻辑加运算操作,操作结果存入目的操作数中。
(3)受影响的标志位:CF、OF为0,PF、SF和ZF根据运算定, AF无定义。
(4)利用OR指令与1或0相或,可对操作数置1操作,和保留原位不变。
举例:
         将AL中第0位和第7位置1。
         MOV  AL,0   
OR   AL,81H 
4.逻辑异或指令XOR
格式:XOR目的操作数,源操作数
操作形式:DOPD ← DOPD SOPD
描述:
(1)逻辑异或运算法则:1 1=0,1 0=1,0 1=1,0 0=0。
(2)指令的功能是把源操作数中的每位二进制与目的操作数中的相应二进制进行逻辑“异或”操作,操作结果存入目的操作数中
(3)受影响的标志位:CF、OF为0,PF、SF和ZF根据运算定, AF无定义。
(4)利用该指令与1和0相异或,分别可以操作数对应位变反和保持不变。
(5)对操作数自身异或运算可对寄存器和CF、OF置0。
举例:
(1)将AL中的0、7位变反
XOR  AL,81H
(2)将AX清零
     XOR  AX,AX
5.逻辑测试指令TEST
格式:TEST 目的操作数,源操作数
操作形式:DOPD∧SOPD。

DATA SEGMENT
    STR DB 'HELLO WORLD!',13,10,'$'
DATA ENDS


STACK SEGMENT STACK
   DB 20 DUP(?)
STACK ENDS
CODE SEGMENT
    ASSUME CS:CODE,DS:DATA,SS:STACK
START: 寄存器AX 寄存器BX 寄存器CX 寄存器DX 状态标志
     MOV AX,0FF03H FF03 0000 0061 0000
     MOV BX,0H FF03 0000 0061 0000
     MOV CX,5H FF03 0000 0005 0000
     MOV DX,0AH FF03 0000 0005 000A
     NOT AX 00FC 0000 0005 000A
     AND AX,0FF0H 00F0 0000 0005 000A
     OR  BX,AX 00F0 00F0 0005 000A
     OR  DX,CX 00F0 00F0 0005 000F
     XOR AX,0033H 00C3 00F0 0005 000F
     XOR AX,AX 0000 00F0 0005 000F
     MOV AX,DATA 13DB 00F0 0005 000F
     MOV DS,AX 13DB 00F0 0005 000F
LOOP1:    
     SUB AX,1H 13DA 00F0 0005 000F
     TEST AX,AX 13DA 00F0 0005 000F
     JNZ LOOP1 13DA 00F0 0005 000F
     MOV DX,OFFSET STR 13D9 00F0 0005 000F
     MOV AH,09 13D8 00F0 0005 0000
     INT 21H 13D9 00F0 0005 000F
     MOV AH,4CH
     INT 21H  
CODE ENDS

     END START



猜你喜欢

转载自blog.csdn.net/qq_42070071/article/details/80315949
今日推荐