装配中'和'的目的

时间:2013-02-14 13:39:41

标签: assembly x86 dos

有人可以在汇编中定义and关键字的确切用途吗?我在这里提供了一个代码,有人可以解释一下and在这段代码中的作用吗?顺便说一下,and位于begin下的某处,只是为了让您轻松找到它。

code segment
assume cs:code;ds:code
org 100h

begin:

mov ah, 09
mov dx, offset msg1
int 21h

mov ah,01h ;ask user
int 21h
and al,01h
jz EVENn
mov ah, 09 ;display string
mov dx, offset oddmsg
int 21h
jmp ENDd

EVENn:

mov ah, 09 ;display string
mov dx, offset evenmsg
int 21h

ENDd:
int 20h

msg1:db 'enter a number: $'
evenmsg:db 0ah,0dh, 'EVEN $'
oddmsg:db 0ah,0dh, 'ODD$'

code ends
end begin

1 个答案:

答案 0 :(得分:1)

and opreator执行逻辑和操作。

在这种情况下,它用于屏蔽值中的单个位。例如,如果您在6Dh中获取值al(从STDIN读取的字符m),则该操作仅留下最低有效位:

6Dh  01101101
01h  00000001
--------------- and
     00000001

偶数字符代码给出结果00h,奇数字符代码给出结果01h