分析易語言內嵌彙編取變數指標的示例

2022-09-28 18:30:14 字數 1013 閱讀 9757

經本人研究內嵌彙編不能取自定義型別(成員非4位元組,取來的是對齊結構的指標,比如成員為位元組型分配4個位元組),和非小數和整數,文字型陣列不可以取指標,其它的都可以

要注意的是易的子程式前有ebp入棧操作,所以要有出棧操作才行

這是我寫的取整數型指標的例子(位元組型,短整數型,小數型,日期時間型,雙精度小數型都通用,注意引數要為參考):

.版本 2

.支援庫 spec

.子程式 取整數型指標, 整數型, 公開

.引數 整數, 整數型, 參考

'push ebp

'mov ebp, esp

置入** ()

' mov eax, dword ptr [ebp+08]

' le**e

' ret 0004

返回 (0)

取文字指標的例子:

.版本 2

.支援庫 s

.子程式 取文字型指標, 整數型, 公開

.引數 文字, 文字型

置入** ()

' mov eax, dword ptr [ebp+08]

程式設計客棧' mov eax, dword ptr [eax]

' le**e

' ret 0004

返回 (0)

取位元組集指標的例子:

.版本 2

.支援庫 spec

.子程式 取位元組集指標, 整數型, 公開

.引數 位元組集, 位元組集, 參考

置入** ()

' mov eax, dword ptr [ebp+08]

' mov eax, dword ptr [eax]

' add eax, 00000008

' le**e

' ret 0004

返回 (0)

以上就是本次給大家介紹內嵌彙編去變數指標的全部內容,感謝大家對我們的支援。

本文標題: 分析易語言內嵌彙編取變數指標的示例

本文位址: /ruanjian/yiyuyan/244273.html

易語言記憶體彙編逆向分析教程

易語言記憶體教程部分 每節課30 50分鐘,質量保證 第一章 記憶體彙編基礎 1.易語言記憶體輔助解疑 明確學習方向,少走彎路 2.記憶體輔助基礎知識 3.暫存器和常用彙編指令 4.棧記憶體空間和彙編函式 5.ce常用功能介紹和資料查詢 6.od工具使用 和 3d尋路call查詢 7.記憶體讀寫基位...

GCC中的內嵌組合語言

一.宣告 雖然linux的核心 大部分是用c語言編寫的,但是不可避免的其中還是有一部分是用組合語言寫成的。有些組合語言 是直接寫在彙編源程式中的,特別是linux的啟動 部分 還有一些則是利用gcc的內嵌組合語言嵌在c語言程式中的。這篇文章簡單介紹了gcc中的內嵌式組合語言,主要想幫助那些才開始閱讀...

組合語言 變數的定義

1.什麼是變數 variable 變數可以隨著程式的執行發生變化的量,儲存在主存空間中,變數需要事先定義才能使用,變數本質上就是主存單元裡的資料,主存是可讀可寫的,所以變數可以發生改變。變數有別於常量,常量是寫在指令裡的,不佔主存空間。2.變數定義的格式變數名 偽指令助記符 變數初值表變數名 變數名...