您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“易語言中如何內嵌匯編取變量指針”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“易語言中如何內嵌匯編取變量指針”這篇文章吧。
內嵌匯編不能取自定義類型(成員非4字節,取來的是對齊結構的指針,比如成員為字節型分配4個字節),和非小數和整數,文本型數組不可以取指針,其它的都可以
要注意的是易的子程序前有EBP入棧操作,所以要有出棧操作才行
這是我寫的取整數型指針的例子(字節型,短整數型,小數型,日期時間型,雙精度小數型都通用,注意參數要為參考):
.版本 2
.支持庫 spec
.子程序 取整數型指針, 整數型, 公開
.參數 整數, 整數型, 參考
'push ebp <------------這兩句已經是易原有的
'mov ebp, esp置入代碼 ({ 139, 69, 8, 201, 194, 4, 0 })
' mov eax, dword ptr [ebp+08]
' leave <------------賦值給ESP,從堆棧中彈出到EBP
' ret 0004
返回 (0)
取文本指針的例子:
.版本 2
.支持庫 spec
.子程序 取文本型指針, 整數型, 公開
.參數 文本, 文本型置入代碼 ({ 139, 69, 8, 139, 0, 201, 194, 4, 0 })
' mov eax, dword ptr [ebp+08]
' mov eax, dword ptr [eax]
' leave
' ret 0004
返回 (0)
取字節集指針的例子:
.版本 2
.支持庫 spec
.子程序 取字節集指針, 整數型, 公開
.參數 字節集, 字節集, 參考置入代碼 ({ 139, 69, 8, 139, 0, 131, 192, 8, 201, 194, 4, 0 })
' mov eax, dword ptr [ebp+08]
' mov eax, dword ptr [eax]
' add eax, 00000008
' leave
' ret 0004
返回 (0)
以上是“易語言中如何內嵌匯編取變量指針”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。