imageprocessreverse.asm
来自「这是一个数字图像处理的matlab仿真程序」· 汇编 代码 · 共 68 行
ASM
68 行
.686
.xmm
.model flat,stdcall
option casemap:none
include windows.inc
include mymacro.inc
include gdi32.inc
includelib gdi32.lib
include user32.inc
includelib user32.lib
include kernel32.inc
includelib kernel32.lib
IDI_ICON1 equ 101
.data?
hInstance dd ?
hWinMain dd ?
include ProcWinMain.asm ;包含进窗口过程文件
.code
WinMain? proc
local @stWndClass:WNDCLASSEX
local @stMsg:MSG
;------------
;取得模块句柄
;------------
invoke GetModuleHandle,NULL
mov hInstance,eax
;--------------------------
;填充窗口类结构,注册窗口类
;--------------------------
invoke RtlZeroMemory,addr @stWndClass,sizeof @stWndClass
invoke LoadCursor,NULL,IDC_ARROW
mov @stWndClass.hCursor,eax
invoke LoadIcon,hInstance,IDI_ICON1
mov @stWndClass.hIcon,eax
m2m @stWndClass.hInstance,hInstance
mov @stWndClass.cbSize,sizeof WNDCLASSEX
mov @stWndClass.style,CS_HREDRAW or CS_VREDRAW
mov @stWndClass.lpfnWndProc,offset ProcWinMain?
mov @stWndClass.hbrBackground,COLOR_WINDOW + 1
mov @stWndClass.lpszClassName,String('MyClass')
invoke RegisterClassEx,addr @stWndClass
;--------------
;创建并更新窗口
;--------------
invoke CreateWindowEx,WS_EX_CLIENTEDGE,String('MyClass'),String('Huffman解码'),\
WS_OVERLAPPEDWINDOW or WS_VSCROLL or WS_HSCROLL,\
100,100,800,600,NULL,NULL,hInstance,NULL
mov hWinMain,eax
invoke ShowWindow,hWinMain,SW_SHOWNORMAL
invoke UpdateWindow,hWinMain
;--------
;消息循环
;--------
.while TRUE
invoke GetMessage,addr @stMsg,NULL,0,0
.break .if eax == 0
invoke TranslateMessage,addr @stMsg
invoke DispatchMessage,addr @stMsg
.endw
ret
WinMain? endp
start: call WinMain?
invoke ExitProcess,NULL
end start
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?