S081-2021-Lab4中关于Traps的详细学习笔记有哪些?

2026-05-17 07:550阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1960个文字,预计阅读时间需要8分钟。

RISC-V汇编中,a0-a7用于存放参数,13个参数存储在a2中。编译器关联了这两个函数,从li a1, 12可以看出。编译器直接计算了结果,进行了内部优化,如0x630和0x38的内联。函数的返回地址为57616(0xE110),偏移0x00646c72,小端格式。

RISC-V assembly
  1. a0-a7存放参数,13放在了a2

  2. 编译器内联了这两个函数,从li a1,12可以看出来,编译器直接算出了结果,做了内联优化

  3. 0x630

  4. 0x38,即函数的返回地址

  5. 57616=0xE110
    0x00646c72小端存储则为72-6c-64-00
    对照ASCII码表

    72:r 6c:l 64:d 00:字符串结束标识

    输出为:HE110 World

  6. 取决于调用函数之前寄存器a2中有什么

Backtrace

栈帧中的fp指向了前一个栈帧,所以打印出调用栈只需要跟着fp依此遍历即可。

阅读全文

本文共计1960个文字,预计阅读时间需要8分钟。

RISC-V汇编中,a0-a7用于存放参数,13个参数存储在a2中。编译器关联了这两个函数,从li a1, 12可以看出。编译器直接计算了结果,进行了内部优化,如0x630和0x38的内联。函数的返回地址为57616(0xE110),偏移0x00646c72,小端格式。

RISC-V assembly
  1. a0-a7存放参数,13放在了a2

  2. 编译器内联了这两个函数,从li a1,12可以看出来,编译器直接算出了结果,做了内联优化

  3. 0x630

  4. 0x38,即函数的返回地址

  5. 57616=0xE110
    0x00646c72小端存储则为72-6c-64-00
    对照ASCII码表

    72:r 6c:l 64:d 00:字符串结束标识

    输出为:HE110 World

  6. 取决于调用函数之前寄存器a2中有什么

Backtrace

栈帧中的fp指向了前一个栈帧,所以打印出调用栈只需要跟着fp依此遍历即可。

阅读全文