逻辑指令
逻辑运算 按照二进制位运算
and 指令
与运算 将相对应的位 相同为1,不同为0
1 and 1 = 1
1 and 0 = 0
0 and 0 = 0
mov al,00001111B
and al,11110000B l结果为0000 0000
mov al,00001010B
and al,00001111B l结果为0000 1010
0000 1111
and 1111 0000
结果为: 0000 0000
0000 1111
and 0000 0101
结果为: 0000 0101
or 指令
与运算 将相对应的位 是要有一个是1.那么结果为1
1 or 1 = 1
1 or 0 = 1
0 or 1 = 1
0 or 0 = 0
mov al,00001111B
or al,11110000B l结果为1111 1111
mov al,00001010B
and al,00001111B l结果为0000 1111
0000 1111
and 1111 0000
结果为: 1111 1111
0000 1111
and 0000 0101
结果为: 0000 1111
以字符形式给出数据
ASCII码(这里自行学习)
assume cs:code,ds,data,ss:stack
data segment
;db 48,49,50,51,52,53
;db 65,66,67,68,69,70
;db 97,98,99
db '123456abcdefg hiljk!!!' ;单引号,这样更方便
data ends
stack segment stack
dw 0,0,0,0
dw 0,0,0,0
dw 0,0,0,0
dw 0,0,0,0
stack ends
code segment
start: mov bx,stack
mov ss,bx
mov sp,128
mov bx,data
mov ds,bx
mov ax,4C00H
int 21H
code ends
end start
mov al,'a' ;这样写也是对的
mov al,'b'