一道汇编程序
data segment
array db 4,5,?
data ends
code segment
assume cs:code,ds:data
start:mov ax,data
mov ds,ax
mov al,[array]
and al,0f0h ;0f0h是什么意思
mov bl,[array+1]
mov bl,0fh ;0fh是什么意思
and al,bl ;
mov [array+2],al
mov ah,4ch
int 21h
code ends
end start
请解释一下高4位,低4位,谢谢
问题点数:10、回复次数:7Top
1 楼iicup(双杯献酒)回复于 2002-11-13 22:08:10 得分 10
(1)
0f0就是十六进制的 f0
因为 f0可能会是变量的名字,
所以在前面加一个 0
(2)
一个字节有 8 位
二进制表示为:
xxxxyyyy
其中xxxx是高四位,
yyyy是低四位.Top
2 楼coderStone()回复于 2002-11-13 22:27:22 得分 0
看一下汇编的书吧,书上讲的比谁都详细。
任何一本汇编书都有。Top
3 楼cnzhzy(炮炮龙)回复于 2002-11-15 17:10:22 得分 0
and al,0f0h 的意思是保留al的高4位,而清al的低4位,
例如:al 为 0100 1101B, (0100为高4位,1101为低4位)
and al,0f0h 后al为0100 0000B
下面的一样.Top
4 楼zither(渔歌子)回复于 2002-11-15 17:41:45 得分 0
唉~~~~~~~~~~~来晚了Top
5 楼piantang(菠菜汤)回复于 2002-11-15 20:24:58 得分 0
up
学习Top
6 楼feibob(灵猫)回复于 2002-11-15 21:09:25 得分 0
抢菜不及....:(
Top
7 楼kchen2001(kchen2001)回复于 2002-11-19 15:59:03 得分 0
data segment
array db 4,5,?
data ends
code segment
assume cs:code,ds:data
start:mov ax,data
mov ds,ax
mov al,[array] ;将array里的内容4,送到al
and al,0f0h ;保留al中前4位
mov bl,[array+1];将array+1里的内容5,送到bl
mov bl,0fh ;保留bl中后4位
and al,bl ;
mov [array+2],al
mov ah,4ch
int 21h
code ends
end start
Top




