asm1.asm

来自「数据采集」· 汇编 代码 · 共 104 行

ASM
104
字号
.586
  locals
  jumps
.model  flat,STDCALL
include win32.inc
include extrn.inc

L EQU <LARGE>
public _var_long
public _p_data
public _sub1
public _sub2

m_pkmsg macro
           push L PM_REMOVE
           push L 0
           push L 0
           push L 0
           push offset msg
           call PeekMessage
          endm
m_trmsg macro
           push offset msg
           call TranslateMessage
           endm
m_getwin macro
            call GetActiveWindow;
            mov hwnd,eax
            endm
m_getdc  macro
            push hwnd
            call GetDC
            mov hdc,eax
            endm
m_textout macro xx,yy,str,len
            push L len
            push offset str
            push L yy
            push L xx
            push hdc
            call TextOut
            endm

.data
_var_long    dd ?
_p_data       dd ?
msg          MSGSTRUCT <?>
string       db 'abcdf',0
hwnd         dd ?
hdc          dd ?

.code
_sub1:      dd $+4
con:        ;m_pkmsg
            ;cmp msg.msMESSAGE,WM_CHAR
            ;je key_proc
            ;m_trmsg
            ;jmp con
;key_proc:   mov eax,msg.msWPARAM

            m_getwin
            m_getdc
            m_textout 10,10,string,5
return:     ret

_sub2:     dd $+4
           
           push L 0ffffh
           push L 0
           call GlobalAlloc
           mov _p_data,eax
           ret

           end


;MSGSTRUCT struc
;    msHWND          UINT    ?
;    msMESSAGE       UINT    ?
;    msWPARAM        UINT    ?
;    msLPARAM        ULONG   ?
;    msTIME          ULONG   ?
;    msPT            ULONG   ?
;MSGSTRUCT ends

;_de_lay:    dd $+4
;            MOV AL,0
;            OUT DX,AL
;  	    MOV CX,5000 	;delay_time
;LP2:        NOP
;            NOP
;LOOP        LP2
;
;            MOV DX,270H
;  	    IN  AX,DX
;            SHR AX,1







⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?