compasty / assembly_train

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

概述

本项目是X86_64的汇编学习的记录,使用NASM进行代码编写,主要参考 《X86汇编语言-从实模式到保护模式》, Linux Assembly

目录结构 (使用 mddir 制作)

basic目录主要是包含汇编程序的基础学习内容, toyos目录是采用汇编和C语言编写的简单操作系统。

NASM

NASM全称 Netwide Asssembler, 是一个 80x86x86-64汇编器,基于简化版BSD许可证的开放源代码软件。NASM支持多种目标文件格式,如 a.out, ELF, Mach-O .obj(OMF), coff等, 也支持常见的二进制输出格式。

NASM不是AT&T风格汇编(GNU汇编器采用的语法),而是Intel风格

命令

nasm -f <format> <filename> [-o <output>]

例如: name -f elf myfile.asm 这个指令会生成 ELF格式的文件 myfile.o, nasm -f bin myfile.asm -o myfile.com则是生成原始的二进制文件 myfile.com

语法

NASM源码行通常为格式: label: instruction operands ;comment, 首先是可选的标号,然后是指令,最后是注释(使用;

About


Languages

Language:Assembly 93.1%Language:C 6.9%