目录
1 入门
1.1 基础知识
什么是汇编语言:机器指令(Machine Code)的助记符,直接操作硬件。
汇编语言有3类指令:
-
汇编指令:机器码的助记符,有对应的机器码;
-
伪指令:没有对应的机器码,有编译器执行,计算机并不执行;
-
其他符号:如+、-、*、/等,有编译器识别,没有对应的机器码。
1.2 寄存器
在上一节中,我们介绍了CPU通过外部总线(地址总线,控制总线,数据总线)来和内存交互。而在CPU内部,是通过内部总线来和各个CPU器件联系的。器件包括:
-
运算器:信息处理;
-
寄存器:信息存储;
-
控制器:控制各个器件进行工作;
-
内部总线:连接各个器件,传输数据。
对于汇编程序员来说,CPU中主要的部件是寄存器。
寄存器:CPU中对指令读写的器件,通过改变寄存器的内容来实现对CPU的控制。
8086CPU有14个寄存器(都是16位),每个寄存器又有不同的名字,分别是:AX、BX、CX、DX、SI、DI、SP、BP、IP、CS、SS、DE、ES、PSW。
1.2.1 通用寄存器
1.2.2 段寄存器
1.2.2.1 代码段
1.2.2.2 数据段
1.2.2.3 栈段
2 DOSbox
为了在Mac上运行本书的实验,需要安装DOSbox。
1
2
3
4
Z:\>MOUNT C program # step 1, 在Dosbox运行目录下建立program文件夹,Drive C mounted as local directory \program
Z:\>c: # step 2, 在program下建立debug文件夹,将dos.exe放入。并cd c: program/debug,
C:\DEBUG>debug: # step 3, 运行debug程序。
-r # step 4, 运行debug的-r命令查看寄存器内容。