NASM 笔记:汇编语言的基础 syntax

几个 section

data section

data section 用于申明已经初始化、运行时不改变的数据,使用方法:

section .data

bss setion

bss setion 用于申明变量。用法:

section .bss

text section

text section 用来写代码,而且必须以 global main 开头。

section .text
    global main
main:

注释

注释以;开头。

; This program displays a message on screen.

汇编语言的 statement

汇编语言有三种 statement:

  • 指令(executable instructions or instructions)
  • 汇编器 directives
  • macros

汇编 statement 的 syntax

所有 statement 都符合下列格式:

[lable] mnemoic [operands] [;comment]

上面 [] 中的内容表示其为可选的。

例子:

INC COUNT ; 增加内存中的变量 COUNT
MOV TOTAL, 48 ; 把 48 传输到内存中的变量 TOTAL

ADD AH, BH ; 把 BH 寄存器的内容加到 AH 寄存器

AND MASK1, 128 ; 对变量 MASK1 和 48,进行与(AND)操作

汇编语言的 Hello,world

section .text
    global main
    global _start
main:
_start:
    mov edx, len
    mov ecx, msg
    mov ebx, 1
    mov eax, 4
    int 0x80
    mov eax, 1
    int 0x80
section .data
msg db 'Hello, world!', 0xa
len equ $ - msg
Written with StackEdit.

发表留言

本站启用了垃圾评论检测插件,如果误删请联系我~