在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

RISC-V查看匯編代碼的幾種方式

嵌入式USB開發 ? 來源:嵌入式USB開發 ? 作者:嵌入式USB開發 ? 2023-06-09 19:13 ? 次閱讀

RISC-V查看匯編代碼的幾種方式 (qq.com)

本文轉自公眾號歡迎關注

前言

很多時候需要對照C和匯編進行分析和調試,所以需要查閱匯編代碼,以下分享幾種方式。

使用網頁

可以進入如下網站輸入C查看對應的匯編,右側可以選擇編譯器版本

https://godbolt.org/

image.png

使用工具

推薦ripes項目

參考https://mp.weixin.qq.com/s/tcG7yCYMsDzUIQmwL-e6BQ

使用GCC

可以用GCC生成匯編代碼,或者從目標文件,可執行文件中dump出匯編指令

比如有源碼main.c

int add(int a,int b)

{

return a+b;

}

int main(void)

{

int a=0;

int b=1;

int c=1;

a=add(b,c);

return 0;

}

編譯生成匯編

riscv64-unknown-elf-gcc -S -o mian.s main.c

main.s如下

.file   "main.c"

.option nopic

.attribute arch, "rv64i2p0_m2p0_a2p0_f2p0_d2p0_c2p0"

.attribute unaligned_access, 0

.attribute stack_align, 16

.text

.align  1

.globl  add

.type   add, @function

add:

addi    sp,sp,-32

sd  s0,24(sp)

addi    s0,sp,32

mv  a5,a0

mv  a4,a1

sw  a5,-20(s0)

mv  a5,a4

sw  a5,-24(s0)

lw  a4,-20(s0)

lw  a5,-24(s0)

addw    a5,a4,a5

sext.w  a5,a5

mv  a0,a5

ld  s0,24(sp)

addi    sp,sp,32

jr  ra

.size   add, .-add

.align  1

.globl  main

.type   main, @function

main:

addi    sp,sp,-32

sd  ra,24(sp)

sd  s0,16(sp)

addi    s0,sp,32

sw  zero,-20(s0)

li  a5,1

sw  a5,-24(s0)

li  a5,1

sw  a5,-28(s0)

lw  a4,-28(s0)

lw  a5,-24(s0)

mv  a1,a4

mv  a0,a5

call    add

mv  a5,a0

sw  a5,-20(s0)

li  a5,0

mv  a0,a5

ld  ra,24(sp)

ld  s0,16(sp)

addi    sp,sp,32

jr  ra

.size   main, .-main

.ident  "GCC: (GNU) 10.2.0"

目標文件或者可執行文件導出匯編

riscv64-unknown-elf-objdump -s -d main.o > main.o.txt

riscv64-unknown-elf-objdump -s -d main > main.txt

 

main:     file format elf64-littleriscv

 

Contents of section .text:

 100b0 93070000 91c71705 00001305 052f05a6  ............./..

 100c0 82809721 00009381 e1be1385 01f61386  ...!............

 100d0 81f9098e 8145ef00 40161705 00001305  .....E..@.......

 100e0 453019c5 17050000 1305252c ef00202f  E0........%,.. /

 100f0 ef00000e 02452c00 0146ef00 e00755a8  .....E,..F....U.
......

使用GDB

如果使用了GDB進行仿真,可以直接進行匯編級別調試

使用如下指令進入C和匯編對照布局

layout split

image.png

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 匯編
    +關注

    關注

    2

    文章

    214

    瀏覽量

    25933
  • 代碼
    +關注

    關注

    30

    文章

    4788

    瀏覽量

    68603
  • 匯編代碼
    +關注

    關注

    0

    文章

    23

    瀏覽量

    7551
  • RISC-V
    +關注

    關注

    45

    文章

    2277

    瀏覽量

    46158
收藏 人收藏

    評論

    相關推薦

    【RT-Thread學習筆記】RISC-V匯編基礎三大塊知識

    【RT-Thread學習筆記】RISC-V匯編基礎的三大塊知識
    的頭像 發表于 07-30 11:01 ?2759次閱讀
    【RT-Thread學習筆記】<b class='flag-5'>RISC-V</b><b class='flag-5'>匯編</b>基礎三大塊知識

    RISC-V開放架構設計之道|閱讀體驗】 RISC-V設計必備之案頭小冊

    ,最基礎的RV32已經是完全不變化。以此來規避在過去指令集設計中的錯誤。 然后開始了在RISC-V中應該如何編寫匯編代碼,書中大致講了將c語言編譯成計算機執行的機器語言程序的重要步驟,并對每個步驟進行了簡單的描述
    發表于 01-22 16:24

    RISC-V 匯編在線仿真器 Ripes OnLine 使用說明

    Ripes OnLine RISC-V 模擬器網址 RISC-V 旨在簡化。在線 Ripes 模擬器可讓您運行匯編代碼,而無需在計算機上進行任何安裝。 Ripes.me 網頁 轉到網頁
    發表于 06-28 14:59

    RISC-V匯編語言

    一、導言 從 C 程序翻譯成為可以在計算機上執行的機器語言程序的四個經典步驟。這一章的內容包括了后三個步驟,不過我們要從匯編語言在 RISC-V 函數調用規范中的作用開始說起。 上圖從C源代碼翻譯
    發表于 08-19 18:07

    關于RISC-V學習路線圖推薦

    開發板,如Arduino、Raspberry Pi等,并了解其硬件配置和特性。 安裝開發工具鏈 : 如GCC編譯器、RISC-V匯編器和鏈接器等,用于編寫、編譯和調試RISC-V程序。 搭建開發環境
    發表于 11-30 15:21

    一文看懂RISC-V代碼密度

    本帖最后由 jf_11671167 于 2021-10-9 10:35 編輯 關鍵詞:RISC-V處理器 ,平頭哥玄鐵CPU,RISC-V指令集,IoT芯片,RISC-V指令集,代碼
    發表于 09-01 14:29

    RISC-V匯編指令編碼格式是怎樣的

    匯編語言有哪幾類指令組成呢?RISC-V匯編指令編碼格式是怎樣的?有哪幾種格式?
    發表于 02-11 08:10

    RISC-V匯編語言開發起來難度大

    RISC-V匯編語言執行效率高嗎?開發人員一般在什么場景下需要使用RISC-V匯編語言編程?
    發表于 03-27 14:14

    RISC-V 發展

    匯編當中,都使用ABI名稱來代表這些寄存器。RISC-V CSR寄存器CSR是控制狀態寄存器,RISC-V中CSR寄存器,需要使用csrr、csrw、csrrw等特定指令進行訪問。RISC-V
    發表于 04-14 10:18

    risc-v中國峰會直播:如何優化RISC-V指令集架構的代碼密度?

    第一屆中國峰會在上海舉辦,以下是小編整理的部分risc-v峰會的內容。主要介紹了影響代碼密度的因素以及如何優化RISC-V指令集架構的代碼密度?感興趣的小伙伴可以詳細了解一下。
    的頭像 發表于 06-23 12:12 ?3116次閱讀
    <b class='flag-5'>risc-v</b>中國峰會直播:如何優化<b class='flag-5'>RISC-V</b>指令集架構的<b class='flag-5'>代碼</b>密度?

    第一屆RISC-V中國峰會看點 risc-v開發要怎么優化risc-v指令集架構代碼密度

    在第一屆RISC-V中國峰會上看點很多,RISC-V是開源的,那么代碼密度要怎么控制,會不會因為開源而導致代碼密度特別大? 我們一起來看看risc-
    發表于 06-23 18:22 ?9682次閱讀
    第一屆<b class='flag-5'>RISC-V</b>中國峰會看點 <b class='flag-5'>risc-v</b>開發要怎么優化<b class='flag-5'>risc-v</b>指令集架構<b class='flag-5'>代碼</b>密度

    RISC-V嵌入式開發入門篇2:RISC-V匯編語言程序設計(下)

    本文將介紹如何直接使用RISC-V架構的匯編語言進行程序設計。
    發表于 11-02 18:50 ?40次下載
    <b class='flag-5'>RISC-V</b>嵌入式開發入門篇2:<b class='flag-5'>RISC-V</b><b class='flag-5'>匯編</b>語言程序設計(下)

    RISC-V嵌入式開發入門篇2:RISC-V匯編語言程序設計(中)

    本文將介紹如何直接使用RISC-V架構的匯編語言進行程序設計。
    發表于 11-03 09:51 ?42次下載
    <b class='flag-5'>RISC-V</b>嵌入式開發入門篇2:<b class='flag-5'>RISC-V</b><b class='flag-5'>匯編</b>語言程序設計(中)

    RISC-V匯編簡介

    RISC-V匯編簡介匯編語言有3類指令組成:a.匯編指令:機器碼的助記符,有對應的機器碼,可以翻譯成對應的二進制機器碼。b.偽指令:沒有對應的機器碼,由
    發表于 12-08 18:21 ?9次下載
    <b class='flag-5'>RISC-V</b><b class='flag-5'>匯編</b>簡介

    RISC-VRISC-V AI的未來(特邀講座)

    主題演講:RISC-VRISC-V AI的未來(特邀講座)ppt分享
    發表于 07-14 17:15 ?16次下載
    主站蜘蛛池模板: freesexvideo性大全| 奇米色吧| 91精品日本久久久久久牛牛| 男男np主受高h啪啪肉| 日韩三级视频在线观看| bt天堂网www连接| www.好吊色| 网站色| 国产色噜噜| 成年人看的黄色| 伊人久久大线蕉香港三级| 久久久久久91精品色婷婷| 奇米影视7777| 最新天堂网| 狠狠色丁香婷婷第六色孕妇| 久草在线资源网| 亚洲大香伊人蕉在人依线| 国产色婷婷精品综合在线| 不卡午夜| 色综合一区| 天天在线天天看成人免费视频 | 久久久久国产精品| 国产成人精品一区| 国产一区二区播放| 国产成人影视| 婷婷色爱区综合五月激情韩国| 欧美综合影院| 天天干狠狠操| 伊人久久大香线蕉综合7| 给我免费播放片黄色| 日本janpanese护士bus中国| 色婷婷久久合月综| 手机看片福利在线| 亚洲青青草原| 又粗又长又大又黄的日本视频| 久久啊| 天堂网色| 日日夜夜天天干| 亚洲 欧美 自拍 另类| 午夜在线观看福利| 综合久色|