日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Win32ASM学习[3]:局部变量

發布時間:2023/12/1 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Win32ASM学习[3]:局部变量 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

.386
.modelflat,
stdcall

include
?? windows.inc

include
?? kernel32.inc
include
?? masm32.inc
include
?? debug.inc
includelib
kernel32.lib
includelib
masm32.lib
includelib
debug.lib

.code
main proc
?? ;局部變量中的類型不能使用縮寫
???LOCAL v1: dword
???
?? ;可用逗號間隔寫在一行
?? LOCAL v2: dword, v3: dword
???
?? ;不指定類型時默認 DWORD(在 Win32 下)
?? LOCAL v4
???
?? ;數組
?? LOCAL v5[3]: dword
???
?? ;在手動初始化前, 局部變量中都是些垃圾值:
??? PrintDec v1
??? PrintDec v2
??? PrintDec v3
??? PrintDec v4
??? mov eax, v5[0]
??? PrintDec
eax
??? ret

main
endp
end
main

----------------------------------------------------------------------------------------------------------------
理論上應該輸出垃圾值才對???? 但是并不是這樣

v1 = 0 (Test.asm, 52)
v2 = 0 (Test.asm, 53)
v3 = 0 (Test.asm, 54)
v4 = 0 (Test.asm, 55)
eax = 0 (Test.asm, 57)

全部為0了? - -

由于DumpMem不支持局部變量?? 我到debug.inc文件中找到了這個宏實現的語句? 實際上是調用了HexDump2這個函數

測試一個局部變量? 得到結果

0018FF84 : 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00
00000004 : BYTES TOTAL

okay?? 全部Zero了?? 難道RadASM幫我們把變量都初始化了么?

測試data?同樣是這樣

?

main?proc
??? LOCAL val:DWORD
??? invoke?HexDump2,addr val,4
?ret
main endp

?

總結

以上是生活随笔為你收集整理的Win32ASM学习[3]:局部变量的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。