且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

汇编-显示我放到AL中的数值

更新时间:2022-08-21 22:56:56

按书上练习,有一些我看不懂。

.386
.model flat,stdcall
option casemap:none
include \masmplus\include\windows.inc
include \masmplus\include\kernel32.inc
includelib \masmplus\lib\kernel32.lib
include \masmplus\include\user32.inc
includelib \masmplus\lib\user32.lib

.data
MsgBoxCaption db "结果!",0
MsgBoxText db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
.code
start:
mov al,9Eh
call ShowAL

invoke MessageBox,NULL,addr MsgBoxText,addr MsgBoxCaption,MB_YESNOCANCEL
invoke ExitProcess,NULL

ShowAL proc
    mov dl,al
    mov cl,04
    shr al,cl
    mov cx,02h
    xor ebx,ebx
    mov esi,offset MsgBoxText
    
Low4bit:
    cmp al,09
    jbe larger
    add al,07
larger:
    add al,30h
    mov [esi],al
    inc esi
    mov al,dl
    and al,0FH
    loop Low4bit
    ret
ShowAL endp
end start