;将AX寄存器中的16位数分成4组,每组4位
;然后把这四组数分别放在AL、BL、CL 和DL中
data segment
data ends
stack segment stack
dw 100 dup (?)
top label word
stack ends
code segment
assume cs:code,ds:data,ss:stack
main proc far
mov ax,data
mov ds,ax
mov ax,stack
mov ss,ax
lea sp,top
mov ax,45633 ;1011 0010 0100 0100
;al=1011=0bh,bl=0010=02h
;cl=0100=04h,dl=0100=01h
mov dl,al ;al移到dl
and dx,0fh ;屏蔽高12位
mov bl,ah ;ah移到dl
and bx,0fh ;屏蔽高12位
mov cl,4
rol ax,cl ;ax循环左移4位,把ax最高4位移到最低4位
mov cl,ah ;ah移到cl
and cx,0fh ;屏蔽高12位
and ax,0fh ;屏蔽ax高12位
mov ah,4ch
int 21h
main endp
code ends
end main
汇编语言——将AX寄存器中的16位数分成4组,每组4位,然后把这四组数分别放在AL、BL、CL和DL中
最新推荐文章于 2024-04-23 00:37:25 发布