3.6 栈
栈的这种操作规则被称为:LIFO(Last In First Out,后进先出)。
3.7 CPU提供的栈机制
8086CPU提供入栈和出栈指令,最基本的两个是 PUSH(入栈)和 POP(出栈)。
任意时刻,SS:SP 指向栈顶元素。
PUSH AX (SP=SP-2)
POP AX (SP=SP=2)
3.8 栈顶超界的问题
在执行push、pop指令时,要注意当栈满的时候再使用push指令入栈,或栈空时再使用pop指令出栈,都将发生栈顶超界问题。
3.9 push、pop指令
push 寄存器 将一个寄存器中的数据入栈...


- [aben126] 4 发现屏幕上会出现彩色图标。 07/17 13:53
- [aben126] 3 ,由于我用的是WIN 7 系统,所以用DEBUG做实验是装了VMware 在VMware上没找到 07/17 13:47
- [aben126] 2 求2的8次方 mov ax,1 add ax,ax jmp 2000:0003 共运 07/17 13:31
- [aben126] 谢谢,说实在的,我不做笔记不行,我学这个东西都快两个星期了,看过之后前面的就忘了差不多,没办法只好从 07/11 09:49
- [jkuncle] 要向你学习了,我都只做了点课后作业,从来没有做过学习笔记,难怪学到后面感觉越来越难 07/10 16:16
- [aben126] 再次感谢 capitelation 的讲解 注册日期:2013-06-25 18:18 06/28 08:29
- [aben126] 再次感谢 capitelation 的解答 坛里 有前辈帖子写的很详细的。最简单的例子就是比如只 06/27 18:36
[2013-08-11 10:28] 第三章 寄存器(内存访问)
阅读全文 |
评论次数(0) |
浏览次数(395) |
所属类型(学习笔记)
[2013-08-09 08:30] 第3章 寄存器(内存访问)
3.1 内存中字符的存储
在内存中时,一个内存单元是由两个连续的字节单元组成的。(低位跟高位)
我们将起始地址为N的字单元简称为N地址字单元。
任何两个连续的内存单元,N号单元和N+1号单元,可以将它们看成两个内存单元,也可以看成一个地址为N的字单元中的高位字节单元和低位字节单元。
3.2 DS和【address】
8086CPU中有一个DS寄存器,通常用来存放要访问数据的段地址。
MOV AL,[0]
指令解读:
MOV 寄存器名(AL),内存单元地址(【0】这0表示内存单元的偏移地址)
8086CPU不支持将数据直接送人段寄存器的操作。
3.3 字的传...
在内存中时,一个内存单元是由两个连续的字节单元组成的。(低位跟高位)
我们将起始地址为N的字单元简称为N地址字单元。
任何两个连续的内存单元,N号单元和N+1号单元,可以将它们看成两个内存单元,也可以看成一个地址为N的字单元中的高位字节单元和低位字节单元。
3.2 DS和【address】
8086CPU中有一个DS寄存器,通常用来存放要访问数据的段地址。
MOV AL,[0]
指令解读:
MOV 寄存器名(AL),内存单元地址(【0】这0表示内存单元的偏移地址)
8086CPU不支持将数据直接送人段寄存器的操作。
3.3 字的传...
阅读全文 |
评论次数(0) |
浏览次数(317) |
所属类型(学习笔记)
[2013-07-13 10:14] 第二章寄存器 2.9
8086CPU有4个段寄存器:CS、DS、SS、ES。
当8086CPU要访问内存时由这4个段寄存器提供内存单元的段地址。
CS为代码段寄存器,IP为指针寄存器。
读取一条指令后,IP中的值自动增加。
如果说,内存中的一段信息曾被CPU执行过的话,那么,它所在的内存单元必然被CS:IP指向过。
程序员可以通过改变寄存器中的内容实现对CPU的控制。
CUP是从CS、IP的内容处执行指令的,程序员可以通过改变CS、IP中的内容来控制CPU执行目标指令。
8086CPU大部分的值都可以用MOV指令来改变,MOV指令被称为传送指令。
MOV不能改变CS、IP,因为8086C...
当8086CPU要访问内存时由这4个段寄存器提供内存单元的段地址。
CS为代码段寄存器,IP为指针寄存器。
读取一条指令后,IP中的值自动增加。
如果说,内存中的一段信息曾被CPU执行过的话,那么,它所在的内存单元必然被CS:IP指向过。
程序员可以通过改变寄存器中的内容实现对CPU的控制。
CUP是从CS、IP的内容处执行指令的,程序员可以通过改变CS、IP中的内容来控制CPU执行目标指令。
8086CPU大部分的值都可以用MOV指令来改变,MOV指令被称为传送指令。
MOV不能改变CS、IP,因为8086C...
阅读全文 |
评论次数(0) |
浏览次数(327) |
所属类型(学习笔记)
[2013-07-10 09:16] 第二章 寄存器 2.4
所有的内存单元都有一个唯一的地址,我们将这唯一的地址称为物理地址。
8086是16位机,也可以说8086是16位结构的CPU。
16位结构机能够一次性处理、传输、暂时存储的信息的最大长度是16位,
运算器一次最多可以处理16为的数据;
寄存器的最大宽度为16位;
寄存器和运算器之间的通路为16位。
8086CPU有20为地址总线,可以传送20位地址,达到1MB寻址能力。8086CPU又是16位结构。
8086CPU地址加法器采用物理地址=段地址x16+偏移地址。
一个数据 X 进制形式左移1位,相当于乘以 X 。
段地址x16+...
8086是16位机,也可以说8086是16位结构的CPU。
16位结构机能够一次性处理、传输、暂时存储的信息的最大长度是16位,
运算器一次最多可以处理16为的数据;
寄存器的最大宽度为16位;
寄存器和运算器之间的通路为16位。
8086CPU有20为地址总线,可以传送20位地址,达到1MB寻址能力。8086CPU又是16位结构。
8086CPU地址加法器采用物理地址=段地址x16+偏移地址。
一个数据 X 进制形式左移1位,相当于乘以 X 。
段地址x16+...
阅读全文 |
评论次数(2) |
浏览次数(389) |
所属类型(学习笔记)
[2013-07-08 14:43] 第二章 寄存器 2.3
汇编指令
MOV AX,18 将18送入寄存器AX中 AX=18
MOV AH,78 AH=78
ADD AX,8 将寄存器AX中的数值+8 AX=AX=8
MOV AX,BX AX=BX
ADD AX,BX AX=AX+BX
汇编指令不分大小写。
注意指令的两个操作对象的位数应该一致
MOV AX,BL 错了
MOV BL,AH 可以
ADD ...
MOV AX,18 将18送入寄存器AX中 AX=18
MOV AH,78 AH=78
ADD AX,8 将寄存器AX中的数值+8 AX=AX=8
MOV AX,BX AX=BX
ADD AX,BX AX=AX+BX
汇编指令不分大小写。
注意指令的两个操作对象的位数应该一致
MOV AX,BL 错了
MOV BL,AH 可以
ADD ...
阅读全文 |
评论次数(0) |
浏览次数(264) |
所属类型(学习笔记)
[2013-07-06 08:54] 第二章 寄存器
在CPU中:
运算器进行信息处理;
寄存器进行信息存储;
控制器控制各种器件进行工作;
内部总线连接各种器件,在它们之间进行数据的传送。
8086CPU的所有寄存器都是16位的,可以存放两个字节。AX、BX、CX、DX这4个寄存器通常用来存放一般性的数据,被称为通用寄存器。
为了兼容上一代CPU,16位寄存器分为两个8位寄存器
如:AX可分为AH和AL
BX可分为BH和BL
CX可分为CH和CL
DX可分为DH和DL
出于对兼容考虑,8086CPU可以一次性处理以下...
运算器进行信息处理;
寄存器进行信息存储;
控制器控制各种器件进行工作;
内部总线连接各种器件,在它们之间进行数据的传送。
8086CPU的所有寄存器都是16位的,可以存放两个字节。AX、BX、CX、DX这4个寄存器通常用来存放一般性的数据,被称为通用寄存器。
为了兼容上一代CPU,16位寄存器分为两个8位寄存器
如:AX可分为AH和AL
BX可分为BH和BL
CX可分为CH和CL
DX可分为DH和DL
出于对兼容考虑,8086CPU可以一次性处理以下...
阅读全文 |
评论次数(0) |
浏览次数(289) |
所属类型(学习笔记)
[2013-07-05 14:42] 第一章 基础知识
寄存器,简单的讲是CPU中可以存储数据的器件,一个CPU中有多个寄存器。
汇编语言的组成
1,汇编指令:机器码的助记符,有对应的机器码。
2,伪指令:没有对应的机器码,由编译器执行,计算机并不执行。
3,其他符号:如+、-、*、/等,由编译器识别,没有对应的机器码。
汇编语言的核心是汇编指令,它决定了汇编语言的特性。
存储单元从0开始顺序编号。
一个存储单元可以存储一个Byte,即8个二进制位。
计算机的最小信息单元是bie(音译为比特)
微型存储器的容量是以字节(Byte)为最小单位来计算的。
1KB=1024B 1MB=1024KB ...
汇编语言的组成
1,汇编指令:机器码的助记符,有对应的机器码。
2,伪指令:没有对应的机器码,由编译器执行,计算机并不执行。
3,其他符号:如+、-、*、/等,由编译器识别,没有对应的机器码。
汇编语言的核心是汇编指令,它决定了汇编语言的特性。
存储单元从0开始顺序编号。
一个存储单元可以存储一个Byte,即8个二进制位。
计算机的最小信息单元是bie(音译为比特)
微型存储器的容量是以字节(Byte)为最小单位来计算的。
1KB=1024B 1MB=1024KB ...
阅读全文 |
评论次数(0) |
浏览次数(119) |
所属类型(学习笔记)
页码数(1):
1