91精品一区二区三区久久久久久_欧美一级特黄大片色_欧美一区二区人人喊爽_精品一区二区三区av

位置:51電子網 » 技術資料 » EDA/PLD

從匯編程序中訪問C程序變量

發布時間:2008/12/23 0:00:00 訪問次數:1270

  在c程序中聲明的全局變量可以被匯編程序通過地址間接訪問,具體訪問方法如下。

  ·使用import偽指令聲明該全局變量。

  ·使用ldr指令讀取該全局變量的內存地址,通常該全局變量的內存地址值存放在

  程序的數據緩沖池中。

  ·根據該數據的類型,使用相應的ldr指令讀取該全局變量的值;使用相應的str

  指令修改該全局變量的值。

  各數據類型及其對應的ldr/str指令如下。

  ·對于無符號的char類型的變量通過指令ldrb/strb來讀寫。

  ·對于無符號的short類型的變量通過指令ldrh/strh來讀寫。

  ·對于int類型的變量通過指令ldr/str來讀寫。

  ·對于有符號的char類型的變量通過指令ldrsb來讀取。

  ·對于有符號的char類型的變量通過指令strb來寫入。

  ·對于有符號的short類型的變量通過指令ldrh來讀取。

  ·對于有符號的short類型的變量通過指令strh來寫入。

  ·對于小于8個字的結構型變量,可以通過一條ldm/stm指令來讀/寫整個變量。

  ·對于結構型變量的數據成員,可以使用相應的ldr/str指令來訪問,這時必須知道該數據成員相對于結構型變量開始地址的偏移量。

  下面是一個在匯編程序中訪問c程序全局變量的例子。程序中變量globv1是在c程序中聲明的全局變量。在匯編程序中首先用import偽指令聲明該變量;再將其內存地址讀入到寄存器ri中;然后將其值讀入到寄存器r0中;修改后再將寄存器r0的值賦予變量globv1。本例中的程序如下。



  歡迎轉載,信息來自維庫電子市場網(www.dzsc.com)



  在c程序中聲明的全局變量可以被匯編程序通過地址間接訪問,具體訪問方法如下。

  ·使用import偽指令聲明該全局變量。

  ·使用ldr指令讀取該全局變量的內存地址,通常該全局變量的內存地址值存放在

  程序的數據緩沖池中。

  ·根據該數據的類型,使用相應的ldr指令讀取該全局變量的值;使用相應的str

  指令修改該全局變量的值。

  各數據類型及其對應的ldr/str指令如下。

  ·對于無符號的char類型的變量通過指令ldrb/strb來讀寫。

  ·對于無符號的short類型的變量通過指令ldrh/strh來讀寫。

  ·對于int類型的變量通過指令ldr/str來讀寫。

  ·對于有符號的char類型的變量通過指令ldrsb來讀取。

  ·對于有符號的char類型的變量通過指令strb來寫入。

  ·對于有符號的short類型的變量通過指令ldrh來讀取。

  ·對于有符號的short類型的變量通過指令strh來寫入。

  ·對于小于8個字的結構型變量,可以通過一條ldm/stm指令來讀/寫整個變量。

  ·對于結構型變量的數據成員,可以使用相應的ldr/str指令來訪問,這時必須知道該數據成員相對于結構型變量開始地址的偏移量。

  下面是一個在匯編程序中訪問c程序全局變量的例子。程序中變量globv1是在c程序中聲明的全局變量。在匯編程序中首先用import偽指令聲明該變量;再將其內存地址讀入到寄存器ri中;然后將其值讀入到寄存器r0中;修改后再將寄存器r0的值賦予變量globv1。本例中的程序如下。



  歡迎轉載,信息來自維庫電子市場網(www.dzsc.com)



相關IC型號

熱門點擊

 

推薦技術資料

聲道前級設計特點
    與通常的Hi-Fi前級不同,EP9307-CRZ這臺分... [詳細]
版權所有:51dzw.COM
深圳服務熱線:13751165337  13692101218
粵ICP備09112631號-6(miitbeian.gov.cn)
公網安備44030402000607
深圳市碧威特網絡技術有限公司
付款方式


 復制成功!
平乡县| 驻马店市| 清镇市| 临朐县| 平阳县| 乐昌市| 营山县| 淮阳县| 新巴尔虎右旗| 漳州市| 龙泉市| 色达县| 阳信县| 错那县| 章丘市| 宜宾市| 山阳县| 余干县| 获嘉县| 卫辉市| 金堂县| 玛曲县| 琼中| 北辰区| 逊克县| 宿迁市| 浦县| 江津市| 南城县| 长沙市| 栾川县| 新平| 克什克腾旗| 建宁县| 诏安县| 长汀县| 长海县| 乌兰县| 莱西市| 久治县| 芜湖市|