日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Win32ASM学习[3]:局部变量

發布時間:2023/12/1 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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]:局部变量的全部內容,希望文章能夠幫你解決所遇到的問題。

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