目录


1 入门

1.1 基础知识

什么是汇编语言:机器指令(Machine Code)的助记符,直接操作硬件。

汇编指令 vs 机器指令

汇编语言有3类指令:

  1. 汇编指令:机器码的助记符,有对应的机器码;

  2. 伪指令:没有对应的机器码,有编译器执行,计算机并不执行;

  3. 其他符号:如+、-、*、/等,有编译器识别,没有对应的机器码。

8086 CPU&内存&内存空间

1.2 寄存器

在上一节中,我们介绍了CPU通过外部总线(地址总线,控制总线,数据总线)来和内存交互。而在CPU内部,是通过内部总线来和各个CPU器件联系的。器件包括:

  1. 运算器:信息处理;

  2. 寄存器:信息存储;

  3. 控制器:控制各个器件进行工作;

  4. 内部总线:连接各个器件,传输数据。

对于汇编程序员来说,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命令查看寄存器内容。

debug小结

3 总结

寄存器小结

4 Reference


Share Post

Twitter Google+

Shunmian

The only programmers in a position to see all the differences in power between the various languages are those who understand the most powerful one.