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

我的博客

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

[2009-02-28 10:01] 第九章

1.可以修改IP,或同时修改CS和IP的指令统称为转移指令,转移指令就是可以控制CPU执行内存中某处代码的指令。

2.只修改IP,称为段内转移,段内转移又分为:短转移和近转移,短转移IP的修改范围为-128~127.近转移IP的修改范围为-32768~32767;同时修改IP和CS,称为段间转移。

3.JMP依据位移进行转移
   JMP SHORT 标号   实现的是短转移 功能:(IP)=(IP)+8位位移
1)8位位移=标号处的地址-JMP指令后的第一个字节的地址
2)SHORT指明此处的位移为8位位移
3)8位位移的范围是-128~127,用补码表示
4)8位位移...
阅读全文 | 评论次数(0) | 浏览次数(601) | 所属类型(自我总结)

[2009-02-14 14:45] 第八章

1.REG表示一个寄存器。SREG表示一个段寄存器。
REG的集合包括:AX,BX,CX,DX,AH,AL,BH,BL,CH,CL,DH,DL,SP,BP,SI,DI
SREG的集合包括:DS,SS,CS,ES

2.BX,SI,DI,BP
  1)在8086CPU中,只有这4个寄存器可以用在“[...]”中来进行内存单元的寻址。
  2)在“[...]”中,这4个寄存器可以单个出现,或者只能以4种组合出现:BX和SI,BX和DI,BP和SI,BP和DI.
  3)只要在“[...]”中使用寄存器BP,而指令中没有显性的给出段地址,段地址就默认在SS中。(这一点有时会忘,注意一下...
阅读全文 | 评论次数(0) | 浏览次数(596) | 所属类型(自我总结)

[2009-02-14 10:35] 第七章

1.AND 指令:逻辑与指令,按位进行与运算,通过该指令可将操作对象的相应位设为0,其他位不变。
OR 指令:逻辑或指令,按位进行与运算,通过该指令可将操作对象的相应位设为1,其他位不变。
61H表示a,41H表示A,大写与小写之间相差20H,单引号‘’指明数据是以字符形式给出的。

2.[bx+idata]表示一个内存单元,它的偏移地址为(bx)+idata。通常可以用来进行数组的处理。
SI,DI和BX的功能相近的寄存器,SI和DI不能够分成两个8位寄存器来使用,SI通常当作源地址的偏移量,DI通常当作目的地址的偏移量。

3.[idata]用一个常量来表示地址,可用于直接定...
阅读全文 | 评论次数(0) | 浏览次数(527) | 所属类型(自我总结)

[2009-02-06 21:59] 第六章

1.程序取得所需空间的方法有两种,一是在加载程序的时候为程序分配,再就是程序在执行的过程中向系统申请。我们可以在程序中,定义我们希望处理的数据,这些数据就会被编译,连接程序作为程序的一部分写到可执行文件中。当可执行文件中的程序被加载入内存时,这些数据也同时被加载入内存中。与此同时,我们要处理的数据也就自然而然的获得了存储空间。

2.END的作用,除了通知编译器程序结束外,还可以通知编译器程序的入口在什么地方。END START 说明了程序的入口,这个入口将被写入可执行文件的描述信息,可执行文件中的程序被加载入内存后,CPU的CS:IP被设置指向这个入口。

3.可执行文件中的描述信息...
阅读全文 | 评论次数(0) | 浏览次数(681) | 所属类型(自我总结)

[2009-02-03 22:10] 第五章

1.完整的描述一个内存单元,需要两种信息:1)内存单元的地址。2)内存单元的长度(类型)。

2.在本章中[bx]主要用来表示一个内存单元,偏移地址在bx中。loop表示循环。

3.描述性符号“()”表示一个寄存器或一个内存单元中的内容。如:(ax)表示ax中的内容。“()”中的内容可以有3中类型:1)寄存器名;2)段寄存器名;3)内存单元的物理地址(一个20位数据)。“(x)”所表示的数据有两种类型:字节和字。到底是那种类型由寄存器名或具体的运算决定。

4.loop指令的格式:loop 标号 ,CPU执行loop指令的时候,要进行两步操作,1)(CX)=(CX)-1;2)判断...
阅读全文 | 评论次数(1) | 浏览次数(707) | 所属类型(自我总结)

[2009-01-22 11:13] 第四章

1.伪指令:没有对应的机器指令,最终不被CPU所执行,而是由编译器来执行指令的。
SEGMENT...ENDS是一对成对使用的伪指令,定义一个段,必须有一个段名来标识。
END标记整个程序的结束。
ASSUME将一段寄存器和程序中的某一个用SEGMENT...ENDS定义的段相关联。
标号:指代了一个地址,也是一个段的名称,这个段的名称最终将被编译连接程序处理为一个段的段地址。

2.
目的                 相关指令    指令性质    指令执行者
通知编译器一个段结束 段名 ENDS  伪指令    编译时,编译器执行
通知编译器整个段结束    END ...
阅读全文 | 评论次数(1) | 浏览次数(729) | 所属类型(自我总结)

[2009-01-19 22:30] 第三章(3.1--3.5  | 3.6--3.10)

1.在内存中存储时,由于内存单元是字节单元(一个单元存放一个字节),则一个字要用两个地址连续的内存单元来存放,这个字的低字节放在低地址单元,高字节存放在高地址单元。

2[]表示一个内存单元,[]中的数据表示内存单元的偏移地址。

3.MOV     寄存器,数据
  MOV     寄存器,寄存器
  MOV     寄存器,内存单元(可以互相交换)
  MOV     段寄存器,寄存器(可以互相交换)
  MOV     段寄存器,内存单元

  SUB/ADD    寄存器,数据
  SUB/ADD    寄存器,寄存器
  SUB/ADD    寄存器,内存单元...
阅读全文 | 评论次数(1) | 浏览次数(715) | 所属类型(自我总结)

[2009-01-18 17:00] 第二章(2.9--2.12)

1.段寄存器:CS,DS,SS,ES.当8086CPU要访问内存时由这4个段寄存器提供内存单元的段地址。

2.CS代码段寄存器,IP指令指针寄存器,设CS中的内容为M,IP中的内容为N,CPU将从M*16+N单元开始,读取一条指令并执行。

3.CPU将CS:IP的指向的内容当作指令执行。

4.8086CPU的工作过程简要描述如下:
    1)从CS:IP指向的内存单元读取指令,读取的指令进入指令缓冲器
    2)IP=IP+所读取指令的长度,从而指向下一条指令
    3)执行指令,转到步骤1,重复这个过程。

5.第一章留下的疑问,CPU根据什么将内存中的信息...
阅读全文 | 评论次数(1) | 浏览次数(307) | 所属类型(自我总结)

[2009-01-18 15:56] 第二章(2.4--2.9)

1.8086CPU是16位的结构,从内部结构来看,它只能送出16位的地址寻址能力64KB,但是对外部8086CPU有20位的地址总线寻址能力1MB。这里产生了矛盾,16位的地址怎么寻址20位的呢?在8086CPU内部使用了一种方法就是用两个16位地址合成一个20位的物理地址。而这两个16位的地址一个称为段地址,一个称为偏移地址。即公式:物理地址=段地址*16+偏移地址.

2.物理地址=段地址*16+偏移地址 的本质含义:CPU在访问内存时,用一个基础地址(段地址*16)和一个相对于基础地址的偏移地址相加,给出内存单元的物理地址。

3.段的概念:内存并没有分段,段的划分来自CPU,由...
阅读全文 | 评论次数(1) | 浏览次数(489) | 所属类型(自我总结)

[2009-01-18 11:16] 第二章(2.1--2.3)

1.内部总线:实现CPU内部各个器件之间的数据交互。外部总线:实现CPU与外设之间的数据交互。CPU的内部组成:运算器,寄存器,控制器,内部总线,等。
   1)运算器进行信息处理
   2)寄存器进行信息存储(对于汇编程序员来说,寄存器是主要的部件)
   3)控制器控制各种器件进行工作
   4)内部总线连接各种器件,并在它们之间进行数据的传送

2.通用寄存器:AX,BX,CX,DX.这4个16位的寄存器都可以分为两个独立使用的8位寄存器来用:AH,AL;BH,BL;CH,CL;DH,DL.注意:当一个16位的通用寄存器被分为两个8位的寄存器使用的时

候,高8位和低8位...
阅读全文 | 评论次数(1) | 浏览次数(239) | 所属类型(自我总结)
页码数(2):  1  2