chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

GNU arm 匯編偽指令詳解

林曉東 ? 來源:愛你沒話說 ? 作者:愛你沒話說 ? 2022-06-18 09:51 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

所有的偽指令都是以 . 開頭命令,然后剩下的命名通常是小寫字母,比如 .section .type

.section

格式:.section name [, "flags "[, %type [,flag_specific_arguments ]]]

flags:

The optional flags argument is a quoted string which may contain any combination ofthe following characters:

a section is allocatable
w section is writable
x section is executable
M section is mergeable
S section contains zero terminated strings
G section is a member of a section group
T section is used for thread-local-storage

type:

The optional type argument may contain one of the following constants:

progbits:section contains data

nobits: section does not contain data (i.e., section only occupies space)

note: section contains data which is used by things other than the program

init_array:section contains an array of pointers to init functions

fini_array:section contains an array of pointers to finish functions

preinit_array:section contains an array of pointers to pre-init functions

實例:

.section .stack, "aw", %nobits /* 命名一個”.stack"段, 該段具有可分配和可寫屬性,該段不包含數(shù)據(jù),該段用于保存堆棧值 */

.size

格式:.size name , expression

This directive sets the size associated with a symbol name. The size in bytes is computedfrom expression which can make use of label arithmetic. This directive is typically used toset the size of function symbols.

.type

This directive is used to set the type of a symbol.

格式有多種形式,如下:

.type STT_
.type ,#
.type ,@
.type ,@
.type ,%
.type ,""

The types supported are:

STT_FUNC

function

Mark the symbol as being a function name.

STT_GNU_IFUNC

gnu_indirect_function

Mark the symbol as an indirect function when evaluated during reloc processing.
(This is only supported on Linux targeted assemblers).

STT_OBJECT

object

Mark the symbol as being a data object.

STT_TLS

tls_object

Mark the symbol as being a thead-local data object.

STT_COMMON

common

Mark the symbol as being a common data object.

STT_NOTYPE

notype

Does not mark the symbol in any way. It is supported just for completeness.

例子1

.section .text.Reset_Handler
.type Reset_Handler, %function Reset_Handler:

ldr sp, =_estack /* set stack pointer */

bl entry

bx lr

.size Reset_Handler, .-Reset_Handler

例子2

.section .text.Reset_Handler
.type Reset_Handler, STT_FUNC Reset_Handler:

ldr sp, =_estack /* set stack pointer */

bl entry

bx lr

.size Reset_Handler, .-Reset_Handler

例子3

.global g_pfnVectors .section

.isr_vector,"a",%progbits

.type g_pfnVectors, %object ;聲明一個 object 對象

.size g_pfnVectors, .-g_pfnVectors

g_pfnVectors: .word _estack

.word Reset_Handler

.word NMI_Handler

.word HardFault_Handler

.word MemManage_Handler

.word BusFault_Handler

.word UsageFault_Handler

.global

.global makes the symbol visible to ld. If you define symbol in your partial program, itsvalue is made available to other partial programs that are linked with it. Otherwise, symboltakes its attributes from a symbol of the same name from another file linked into the sameprogram.

.global 用于聲明全局變量,是其讓ld可見。

.word

在當(dāng)前地址放一個 32bit 的值

g_pfnVectors: .word _estack

.word Reset_Handler

.word NMI_Handler

.word HardFault_Handler

上面的代碼表示,在連續(xù)相連的地址上,依次放各中斷服務(wù)函數(shù)指針

審核編輯:符乾江

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關(guān)注

    關(guān)注

    6071

    文章

    45256

    瀏覽量

    660099
  • GNU
    GNU
    +關(guān)注

    關(guān)注

    0

    文章

    143

    瀏覽量

    18142
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    利用Arm i8mm指令優(yōu)化llama.cpp

    本文將為你介紹如何利用 Arm i8mm 指令,具體來說,是通過帶符號 8 位整數(shù)矩陣乘加指令 smmla,來優(yōu)化 llama.cpp 中 Q6_K 和 Q4_K 量化模型推理。
    的頭像 發(fā)表于 07-24 09:51 ?1336次閱讀
    利用<b class='flag-5'>Arm</b> i8mm<b class='flag-5'>指令</b>優(yōu)化llama.cpp

    ARM入門學(xué)習(xí)方法分享

    )架構(gòu)。學(xué)習(xí)ARM的開始可以從學(xué)習(xí)RISC和CISC架構(gòu)的基礎(chǔ)知識開始。 二、學(xué)習(xí)匯編語言:ARM架構(gòu)的核心是匯編語言。學(xué)習(xí)匯編語言能夠幫
    發(fā)表于 07-23 10:21

    RISC-V和ARM有何區(qū)別?

    與RISC-VARM是一種精簡指令集(RISC),以該指令集為基礎(chǔ)的處理器通常被稱為ARM芯片,它在全球范圍內(nèi)得到了極為廣泛的應(yīng)用。而RISC-V也是精簡指令集,是美國加
    的頭像 發(fā)表于 06-24 11:38 ?1464次閱讀
    RISC-V和<b class='flag-5'>ARM</b>有何區(qū)別?

    Arm產(chǎn)品命名體系的演變

    Arm 首席執(zhí)行官 Rene Haas 宣布 Arm 推出新的產(chǎn)品命名體系后,本文將為你詳解新的計算平臺名稱,以及新命名體系內(nèi)的新 IP 名稱標(biāo)識。
    的頭像 發(fā)表于 06-19 10:38 ?683次閱讀
    <b class='flag-5'>Arm</b>產(chǎn)品命名體系的演變

    步進電機控制指令詳解

    這些指令主要是針對用 PLC 直接聯(lián)動伺服放大器,目的是可以不借助其他擴展設(shè)備(例如1GM 模塊)來進行簡單的點位控制, 使用這些指令時最好配合三菱的伺服放大器 (如 MR-J2)。然而,我們也可以用這些指令來控制步進電機的運行
    的頭像 發(fā)表于 06-12 10:33 ?1290次閱讀
    步進電機控制<b class='flag-5'>指令</b><b class='flag-5'>詳解</b>

    詳解Linux權(quán)限相關(guān)指令

    Linux嚴(yán)格來說是一個操作系統(tǒng),我們稱之為“核心”(kernel)。而作為用戶的我們并不能直接與核心交流,這時候就有一個中間人的角色出現(xiàn):將我們的指令翻譯為核心可以看懂的符號,交由核心執(zhí)行,并將執(zhí)行結(jié)果翻譯并返回給我們。
    的頭像 發(fā)表于 06-06 11:47 ?702次閱讀
    <b class='flag-5'>詳解</b>Linux權(quán)限相關(guān)<b class='flag-5'>指令</b>

    arm指令速查手冊

    ARM(Advanced RISC Machines)是微處理器行業(yè)的一家知名企業(yè),該企業(yè)設(shè)計了大量高性能、廉價、耗能低的 RISC 處理器、相關(guān)技術(shù)及軟件。技術(shù)具有性能高、成本低和能耗省的特點,適用于多種領(lǐng)域,比如嵌入控制、消費/教育類多媒體、DSP 和移動式應(yīng)用等。
    發(fā)表于 06-05 17:13 ?1次下載

    第八章 啟動文件詳解

    本章講解了W55MH32的啟動文件,其由匯編編寫,系統(tǒng)上電后首執(zhí)行,完成初始化堆棧、中斷向量表、配置系統(tǒng)時鐘等工作,還介紹了常用ARM匯編指令及代碼結(jié)構(gòu)。
    的頭像 發(fā)表于 05-22 16:52 ?1824次閱讀
    第八章 啟動文件<b class='flag-5'>詳解</b>

    RISC-V基礎(chǔ)指令詳解

    RISC-V中定義了六種指令類型,其中包括 R型指令 : 用于寄存器與寄存器之間算數(shù)運算的指令 I型指令 : 用于寄存器和立即數(shù)算術(shù)運算和讀存儲器操作的
    發(fā)表于 12-29 18:47

    ARM嵌入式編程高效技巧

    理解ARM架構(gòu) 在開始編程之前,深入理解ARM架構(gòu)的特點和指令集是基礎(chǔ)。ARM處理器支持多種指令集,包括
    的頭像 發(fā)表于 12-28 09:17 ?920次閱讀

    一文詳解Arm架構(gòu)Armv9.6-A中的最新功能

    Arm CPU 是當(dāng)今人工智能 (AI) 賦能軟件的關(guān)鍵,它可解釋、處理和執(zhí)行指令。Arm 指令集架構(gòu) (ISA) 作為硬件和軟件的接口,指示處理器做什么和怎么做。
    的頭像 發(fā)表于 12-17 10:22 ?4244次閱讀
    一文<b class='flag-5'>詳解</b><b class='flag-5'>Arm</b>架構(gòu)Armv9.6-A中的最新功能

    RISC-V指令集概述

    基礎(chǔ)指令集,加上若干個擴展指令集進行搭配使用,就可以得到我們想要的指令集架構(gòu),進而根據(jù)這樣的指令架構(gòu),設(shè)計出貼合我們需求的CPU。其中最核心部分是一個基礎(chǔ)
    發(fā)表于 11-30 23:30

    什么是RISC-V?以及RISC-V和ARM、X86的區(qū)別

    只能擴展到64位指令集,通常RISC-V使用32位指令也支持壓縮的16位指令 指令集復(fù)雜度 RISC-V的匯編
    發(fā)表于 11-16 16:14

    了解和使用GNU Radio軟件的功能并制作藍(lán)牙抓包器

    背景 在上一小節(jié)中,我們簡單介紹和使用了GNU Radio軟件的基礎(chǔ)功能和模塊,同時通過GNU Radio Companion(GRC)創(chuàng)建了簡單的流程圖,展示了信號生成、處理和輸出的流程。最后通過
    的頭像 發(fā)表于 11-15 16:10 ?2494次閱讀
    了解和使用<b class='flag-5'>GNU</b> Radio軟件的功能并制作藍(lán)牙抓包器

    ARM匯編語言工具

    電子發(fā)燒友網(wǎng)站提供《ARM匯編語言工具.pdf》資料免費下載
    發(fā)表于 11-06 09:12 ?2次下載
    <b class='flag-5'>ARM</b><b class='flag-5'>匯編</b>語言工具