一、汇编语言指令
DB(define byte)往文件里写入1个字节的指令
DW(define word)往文件里写入一个字(两个字节)的指令
DD(define double-word)往文件里写入两个字的指令
RESB(reserve byte)把指定的地址空出来并自动填上0x00
ORG(origin)把程序装载到内存中的指定地址
JMP(jump)跳转到指定位置
fin: ;标签的声明
HLT
JMP fin ;无限循环
MOV(move)赋值
ADD(add)加法指令
CMP(compare)比较指令
JE(jump if equal)条件跳转指令
CMP AL, 0
JE fin
;相当于
if (AL==0){
goto fin; }
INT(interrupt)中断指令
HLT(halt)让CPU进入待机状态,只要外部发生变化,比如按下键盘,或是移动鼠标,CPU就会醒过来,继续执行程序
二、寄存器
16位寄存器
AX(accumulator)累加寄存器
CX(counter)计数寄存器
DX(data)数据寄存器
BX(base)基址寄存器
SP(stack pointer)栈指针寄存器
BP(base pointer)基址指针寄存器
SI(source index)源变址寄存器
DI(destination index)目的变址寄存器
其中带“址”的寄存器都可以用来指定地址
AX、CX、DX、BX都可以分为高位和低位两个8位寄存器
AL(accumulator low)累加寄存器低位
CL…
DL
BL
AH(accumulator high)累加寄存器高位
CH
DH
BH
32位寄存器
EAX、ECX、EDX、EBX、ESP、EBP、ESI、EDI
段寄存器(16位)
ES(extra segment)附加段寄存器
CS(code segment)代码段寄存器
SS(stack segment)栈段寄存器
DS(data segment)数据段寄存器
FS(segment part 2)没有名称
GS(segment part 3)没有名称
三、关于make.exe和Makefile
make是GNU项目组的人开发的一个工具,利用make,我们可以将大型的开发项目分解成为多个更易于管理的模块,make 会在当前目录下找名字叫“Makefile”或“makefile”的文件,makefile定义了一个文件的依赖关系,makefile就像Shell脚本一样,其中可以执行操作系统的命令。