有人可以在汇编中定义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
答案 0 :(得分:1)
and
opreator执行逻辑和操作。
在这种情况下,它用于屏蔽值中的单个位。例如,如果您在6Dh
中获取值al
(从STDIN读取的字符m
),则该操作仅留下最低有效位:
6Dh 01101101
01h 00000001
--------------- and
00000001
偶数字符代码给出结果00h
,奇数字符代码给出结果01h
。