内存.asm
来自「DOS_Windows汇编语言程序设计教程」· 汇编 代码 · 共 38 行
ASM
38 行
.386
.model flat, stdcall
GetMemInfo PROTO
option casemap :none
include \masm32\include\windows.inc
include \masm32\include\user32.inc
includelib \masm32\lib\user32.lib
include \masm32\include\kernel32.inc
includelib \masm32\lib\kernel32.lib
.data
MemInfo db "内存信息",0
szInfo db '物理内存总数 %lu 字节',0dh,0ah ;0dh0ah是回车换行
db '空闲物理内存 %lu 字节',0dh,0ah
db '虚拟内存总数 %lu 字节',0dh,0ah
db '空闲虚拟内存 %lu 字节',0dh,0ah
db '已用内存比例 %d%%',0dh,0ah
db '----------------',0dh,0ah
db '用户地址空间总数 %lu 字节',0dh,0ah
db '用户可用地址空间 %lu 字节',0dh,0ah,0
.code
start:
invoke GetMemInfo
invoke ExitProcess,NULL
GetMemInfo proc
local @stMemInfo:MEMORYSTATUS ;物理与虚拟内存信息结构
local @szBuffer[1024]:byte
mov @stMemInfo.dwLength,sizeof @stMemInfo
invoke GlobalMemoryStatus,addr @stMemInfo
invoke wsprintf,addr @szBuffer,addr szInfo,\
@stMemInfo.dwTotalPhys,@stMemInfo.dwAvailPhys,\
@stMemInfo.dwTotalPageFile,@stMemInfo.dwAvailPageFile,\
@stMemInfo.dwMemoryLoad,\
@stMemInfo.dwTotalVirtual,@stMemInfo.dwAvailVirtual
invoke MessageBox,0,addr @szBuffer,addr MemInfo,MB_OK
ret
GetMemInfo endp
end start
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?