制作一个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)

相关推荐
高新打工人1 天前
RISC-V(三):RV32M(RISC-V 32 位乘法 / 除法扩展指令集)
cpu·risc-v
Sumlll_1 天前
Ubuntu系统下QEMU的安装与RISC-V的测试
linux·ubuntu·risc-v
早日退休!!!3 天前
ARM A核、ARM M核、X86与RISC-V架构:寄存器作用及上下文处理差异报告
arm开发·架构·risc-v
国科安芯6 天前
商业卫星多轴步进驱动系统的抗辐照MCU集成方案
运维·网络·单片机·嵌入式硬件·安全·安全威胁分析·risc-v
农民真快落7 天前
【操作系统】手撸xv6操作系统——types.h/param.h/memlayout.h/riscv.h/defs.h头文件解析
操作系统·risc-v·嵌入式软件·xv6
国科安芯9 天前
低轨卫星姿态调整系统的抗辐照设计与工程实现
运维·网络·嵌入式硬件·安全·架构·安全威胁分析·risc-v
高新打工人14 天前
RISC-V(一):RV32I(RISC-V 32 位基础整数指令集)
risc-v·rv32i
高新打工人14 天前
RISC-V(二):RV32E(RISC-V 32 位嵌入式精简扩展)
risc-v·rv32e
^_scv_^15 天前
RISC-V 64架构专题四(xv6操作系统接口机制分析)
risc-v
yuezhilangniao15 天前
信创问题:从CPU到外设的统一- 拥抱 RISC-V
嵌入式硬件·risc-v