汇编网首页登录博客注册
aben126的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
文章收藏
友情链接

[2013-08-11 10:28] 第三章   寄存器(内存访问)

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 寄存器         将一个寄存器中的数据入栈...
阅读全文 | 评论次数(0) | 浏览次数(334) | 所属类型(学习笔记)

[2013-08-09 15:52] 第3章   寄存器(内存访问)  3.1

1,
IP 命令             寄存器结果
0  mov ax,1
3  mov ds,ax
5  mov ax,[0000]    ax=2662
8  mov bx,[0000]    bx=e626
c  mov ax,bx        ax=e626
e  mov ax,[0000]    ax=2662
11 mov bx,[0000]    bx=d6e6
15 add ax,bx        ax=fd48
17 add ax,[0004]    ax=2c14
1b mov ax,0         ax=0
1e mov al,[0002...
阅读全文 | 评论次数(0) | 浏览次数(323) | 所属类型(汇编作业)

[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  字的传...
阅读全文 | 评论次数(0) | 浏览次数(287) | 所属类型(学习笔记)

[2013-07-17 13:27] 2  实验任务

点击查看原图
1,
   机器码      汇编指令          结果
1  B8 20 4E    MOV AX,4E20 H    AX=4E2O H BX=0 H IP=0 H
2  05 16 14    ADD AX,1416 H    AX=6263 H BX=0 H IP=3 H
3  BB 00 20    MOV BX,2000 H    AX=6263 H BX=2000 H IP=6 H
4  01 D8       ADD AX,BX        AX=8236 H BX=2000 H IP=B H
5  89 C3       MOV BX,AX        ...
阅读全文 | 评论次数(3) | 浏览次数(401) | 所属类型(汇编作业)

[2013-07-13 12:22] 检测点 2.3

点击查看原图
问题,下面3条指令执行后,CPU几次修改IP?都在什么时候?最后IP中的值是多少?
mov ax,bx
sub ax,ax
jmp ax

答: 修改4次IP
第一次 准备执行mov
第二次 准备执行 sub
第三次 准备执行jmp
第四册 执行jmp

最后IP中的值是IP=ax=0...
阅读全文 | 评论次数(0) | 浏览次数(235) | 所属类型(汇编作业)

[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...
阅读全文 | 评论次数(0) | 浏览次数(264) | 所属类型(学习笔记)

[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+...
阅读全文 | 评论次数(2) | 浏览次数(361) | 所属类型(学习笔记)

[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 ...
阅读全文 | 评论次数(0) | 浏览次数(240) | 所属类型(学习笔记)

[2013-07-07 12:08] 第二章  寄存器   2.2

1,00010到1000F
2,最小为0H,最大为2000H
这题我本来的答案是1001H 2000H
但后面发现把问题想错了,这问的不是偏移问的是段地址,段地址没有64KB的限制,假如那数据在0H或20000H……
3,2000H<SA<0H...
阅读全文 | 评论次数(0) | 浏览次数(283) | 所属类型(汇编作业)

[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可以一次性处理以下...
阅读全文 | 评论次数(0) | 浏览次数(269) | 所属类型(学习笔记)
『 查看更多文章 』