a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 混合使用C、C++和匯編語之:從匯編代碼訪問 C 全局變量

混合使用C、C++和匯編語之:從匯編代碼訪問 C 全局變量

作者: 時間:2013-09-30 來源:網絡 收藏

12.2從代碼訪問

代碼中訪問,只能通過地址間接訪問。要訪問全局變量,必須在中使用IMPORT偽操作輸入全局變量,然后將地址載入寄存器??梢愿鶕兞康念愋褪褂幂d入和存儲指令訪問該變量。

本文引用地址:http://www.j9360.com/article/257033.htm

對于無符號變量,使用:

·LDRB/STRB:用于char型;

·LDRH/STRH:用于short型(對于體系結構v3,使用兩個LDRB/STRB指令);

·LDR/STR:用于int型。

對于有符號變量,請使用等效的有符號數的Load/Store指令,如LDRSB和LDRSH。

對于少于8個字的小結構體可以用LDM和STM指令將其作為整體訪問。同時也可以用適當類型的Load/Store指令訪問結構的單個成員。為了訪問成員,必須了解該成員地址相對于結構體開始處的偏移量。

下面的例子將整型全局變量globvar的地址載入r1、將該地址中包含的值載入r0、將它與2相加,然后將新值存回globvar中。

PRESERVE8

AREAglobals,ODE,READONLY

EXPORTasmsubroutine

IMPORTglobvar

asmsubroutine

LDRr1,=globvar;readaddressofglobvarinto

;r1fromliteralpool從內存池中讀取globvar變量的地址,加載到r1中

LDRr0,[r1]

ADDr0,r0,#2

STRr0,[r1]

MOVpc,lr

END

c++相關文章:c++教程




評論


相關推薦

技術專區

關閉