arm彙編--變數
在程式設計中一個最常規的存在就是變數的操作,無論是迴圈控制、邏輯運算、條件判斷都必不可少的要用到變數操作
在彙編中其實也是和其他語言的程式不會有很大的區別的,變數的賦值、運算 都是很常見的應用
這裡就針對arm彙編的變數給出一個基本的操作方法
arm彙編中全域性變數宣告的關鍵字有這麼幾個
GBLA ( GBLL 或 GBLS ) 全域性變數名
GBLA 、 GBLL 和 GBLS 偽指令用於定義一個 ARM 程式中的全域性變數,並將其初始化。其中:
GBLA 偽指令用於定義一個全域性的數字變數,並初始化為 0 ;
GBLL 偽指令用於定義一個全域性的邏輯變數,並初始化為 F (假);
GBLS 偽指令用於定義一個全域性的字串變數,並初始化為空;
arm彙編中關於區域性變數的初始化
LCLA ( LCLL 或 LCLS ) 區域性變數名
LCLA 、 LCLL 和 LCLS 偽指令用於定義一個 ARM 程式中的區域性變數,並將其初始化。其中:
LCLA 偽指令用於定義一個區域性的數字變數,並初始化為 0 ;
LCLL 偽指令用於定義一個區域性的邏輯變數,並初始化為 F (假);
LCLS 偽指令用於定義一個區域性的字串變數,並初始化為空;
arm彙編中關於變數初始化
變數名 SETA ( SETL 或 SETS ) 表示式
偽指令 SETA 、 SETL 、 SETS 用於給一個已經定義的全域性變數或區域性變數賦值。
SETA 偽指令用於給一個數學變數賦值;
SETL 偽指令用於給一個邏輯變數賦值;
SETS 偽指令用於給一個字串變數賦值;
最後給一個變數和while迴圈的例子出來給大家參參考吧
GBLA COU ;宣告變數
COU SETA 0x0 ;變數初始化
;MMU_TABLE_INIT DCD mmu_table
mmu_table
WHILE COU = 0xa;迴圈條件的判定
ldr r0,=0x0
HH r0,0,0,0,0
LDR r1,"COU";變數值的匯入
SUB r1 ,#1
STR COU,r1 ;變數儲存
;ldr COU ,r1
WEND ;迴圈結束
相關文章
- [ARM] ARM彙編指令
- ARM彙編指令集彙總
- ARM-GUN彙編簡介
- iOS彙編入門教程(一)ARM64彙編基礎iOS
- 4. ARM彙編定址模式-2模式
- 【實驗】 ARM彙編程式設計程式設計
- 在一臺ubuntu的arm板子上學習arm彙編Ubuntu
- Android NDK之使用 arm-v7a 彙編實現兩數之和Android
- 基於arm的C++反彙編 qemu-arm環境搭建C++
- ARM彙編解決階乘以及大小寫轉換
- 彙編眼中的函式呼叫引數傳遞以及全域性與區域性變數與“基址”函式變數
- Linux環境變數問題彙總Linux變數
- ARM 之主流編譯器編譯
- 彙編命令A
- 彙編指令
- ARM彙編和C語言混合程式設計中陣列的陣列的操作C語言程式設計陣列
- Python變數、編碼、註釋Python變數
- 機器學習--分類變數編碼方法機器學習變數
- 我竟在arm彙編除法演算法裡找到了leetcode某道題的解法演算法LeetCode
- 編譯arm平臺的ethtool編譯
- nasm彙編ASM
- 彙編指令速查
- 基本彙編指令
- 彙編基礎
- win32下vs2013彙編傳參和區域性變數棧的分配Win32變數
- c語言if語句是如何變成彙編程式碼的?C語言
- 編譯器如何生成彙編編譯
- iOS逆向之旅(基礎篇) — 彙編(一)— 彙編基礎iOS
- iOS逆向學習筆記 - 彙編(一) - 初識彙編iOS筆記
- 彙編中引數的傳遞和堆疊修正(轉)
- 視訊更新:程式碼分析8之單步除錯ARM64啟動彙編與重定位除錯
- iOS逆向之旅(基礎篇) — 彙編(五) — 彙編下的BlockiOSBloC
- 重新整理彙編—————彙編的基礎理論前置篇
- 彙編---移位指令
- 彙編快速入門
- 彙編指令(待完善)
- linux彙編指令Linux
- GCC 內聯彙編GC