制作一个RISC-V的操作系统五-RISC-V汇编语言编程一

文章目录

RISC-V汇编语言入门

汇编语言概念简介

高级:可以理解就是更贴近人的理解

低级:可以理解就是更贴近机器的

难移植:汇编指令基本上和机器指令一一对应的,不同的指令集架构的机器语言不同。所以一个机器上的汇编可能不能运行到另一个机构不同的机器上。

灵活:高级语言与底层的交互是编译器生成了机器指令再交互的,如果想对生成的机器指令进行优化,此时高级语言不能直接做到,所以不够灵活。反之汇编更底层,更能直接控制对应机器指令的生成,所以优化更方便。

汇编语言语法介绍(GNU版本)

不同汇编器支持汇编语法不一样

大写S 保护预处理语句

小写s 纯粹汇编语句

\]方括号表示该内容为可选项 ,可以有,也可以没有,如果都没有就是空行 ![在这里插入图片描述](https://file.jishuzhan.net/article/1732222507034873857/b34341d98aa14b0a610ca0787d9e82b1.webp) label: 内容 label: 内容 labei和内容可以一行也可以两行 label可以理解为一个地址 伪指令:包含多条基本指令的指令 汇编指令会把伪指令分解为多条指令,再转换为机器指令执行 指示/伪操作:不是告诉汇编器 做什么 , 而是告诉汇编器 如何做 。就比如说, movq $0, %rax 会被汇编器直接翻译为机器码,最终会由CPU直接执行,而 .section __TEXT,__text , 则不会被翻译成机器码,在最终的可执行文件中也不会找到这句话的踪影。它的作用是告诉汇编器如何汇编。是属于汇编器自己定义的语法,给汇编器看的。在汇编器的手册有它的定义 ![在这里插入图片描述](https://file.jishuzhan.net/article/1732222507034873857/f757ccf1aa636dfac5f24f6422cb9d35.webp)

相关推荐
云雾J视界5 天前
FPGA+RISC-V架构解析:构建高效传感器数据采集系统
fpga开发·架构·uart·risc-v·i2c·adxl345
电子科技圈7 天前
IAR与Quintauris携手推进RISC-V汽车实时应用的功能安全软件开发
嵌入式硬件·安全·设计模式·编辑器·汽车·risc-v
CinzWS8 天前
RISC-V RV32MCU 架构、启动与运行机制深度剖析
risc-v·exception
stay_cloud8 天前
RISC-V MCU 串口通信记录 —— 基于Genesys2
mcu·uart·risc-v
ChipCamp8 天前
芯片开发验证之RISC-V编译器:绕过构建的烦恼,直接用Arduino的
编译器·risc-v·objdump·汇编器·objcopy
全球通史11 天前
[特殊字符] RISC-V实战:从0到100+FPS!进迭时空(Spacemit)开发板YOLOv8部署终极指南
嵌入式硬件·yolo·risc-v
码界奇点12 天前
Linux进程间通信三System V 共享内存完全指南原理系统调用与 C 封装实现
linux·c语言·网络·c++·ux·risc-v
飞凌嵌入式13 天前
【玩转多核异构】T153核心板RISC-V核的实时性应用解析
linux·嵌入式硬件·嵌入式·risc-v
卡奥斯开源社区官方13 天前
NVIDIA CUDA全面支持RISC-V深度解析:技术原理、开发实操与生态红利
risc-v
爱喝矿泉水的猛男13 天前
单周期Risc-V指令拆分与datapath绘制
运维·服务器·risc-v