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

我的博客

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

[2010-10-08 21:48] 学习笔记  第十二章

12.0 中断信息可以来自CPU的内部,也可以来自CPU的外部.

12.1 当CPU的内部有下面的发生的时候,将产生相应的中断信息.
     A.除法错误,比如,执行DIV指令产生的除法溢出,中断类型码为0;
     B.单步执行,中断类型码为1;
     C.执行INTO指令,中断类型码为4;
     D.执行INT指令.指令INT的格式为INT N,它的中断类型码为N。

12.2 中断信息中包含识别中断来源的中断类型码,并以它作为表项号定位中断向量表中的表项,设置CUP的IP和CS,从而执行中断处理程序.该类型码为一个字节型数据,可以表示256种中断信息的来源....
阅读全文 | 评论次数(0) | 浏览次数(501) | 所属类型(汇编作业)

[2010-09-26 16:10] 学习笔记 第十一章

11.0  标志寄存器

1. 标志寄存器的作用
  A 存储相关指令的某些执行结果
  B 为某些指令的执行提供行为依据
  C 控制CPU的工作方式

2. 8086CPU中,标志寄存器为16位信息,这些信息被称为程序状态字(Program Status Word,简称PSW)。这些位中,0,2,4,6,7,8,9,10,11位被使用,有专门的含义,其余位没有定义,不起作用。

3. OF(ov/nv):Overflow        溢出     标志位  OV/Overflow/溢出      NV/Not Overflow/未溢出
  DF(dn/up):Dire...
阅读全文 | 评论次数(0) | 浏览次数(568) | 所属类型(汇编作业)

[2010-09-26 15:09] 8086CPU指令汇总及英文全称

8086CPU指令汇总及英文全称

一、数据传送指令
mov(move)、push、pop、pushf(push flags)、popf(pop flags)、xchg(exchange)等都是数据传送指令,这些指令实现寄存器和内存、寄存器和寄存器之间的单个数据传送。

二、算术运算指令
add、sub(substract)、adc(add with carry)、sbb(substract with borrow)、inc(increase)、dec(decrease)、cmp(compare)、imul(integer multiplication)、idiv(integer ...
阅读全文 | 评论次数(0) | 浏览次数(1042) | 所属类型(汇编作业)

[2010-09-10 17:15] 学习笔记  第十章

10.0  call和ret指令

1.  call和ret指令都是转移指令,它们都修改ip,或者同时修改cs和ip。经常被共同用来实现子程序的设计。

10.1  ret和retf

1.  ret指令用栈中的数据修改ip的内容,从而实现近转移。执行时进行两步操作:
    A.(ip)=((ss)*16+(sp))
    B.(sp)=(sp)+2
    意思是从ss:sp这个物理地址上弹出两个字节来修改ip(ret下一条指令的IP),同时对sp进行调整。

2.   retf指令用栈中的数据修改cs、ip的内容,从而实现段间转移。执行时进行四步操作:
    ...
阅读全文 | 评论次数(0) | 浏览次数(503) | 所属类型(汇编作业)

[2010-09-10 10:55] 学习笔记  第九章

9.0  转移指令的原理

1.  可以修改IP,或者可以同时修改CS、IP的指令统称炒转移指令。它控制CPU执行的指令的地址。

2.  转移指令分为以下五种:无条件转移指令;条件转移指令;循环指令;过程;中断。

3.  段内转移:只修改IP。由于转移指令对IP的修改范围不同,段内转移又分为:短转移(-128--127)和近转移

(-32768--32767)。
    段间转移:同时修改CS和IP。又称远转移。

 
9.1  操作符OFFSET

1.  offset在汇编语言中是由编译器处理的符号,它的功能是取得标号的偏移地址。
    seg的功能是...
阅读全文 | 评论次数(0) | 浏览次数(566) | 所属类型(汇编作业)

[2010-09-04 17:41] 学习笔记    第八章

8.0  数据处理的两个基本问题

1.  此章为总结。开篇提出前些篇章的知识块。一是要处理的数据在什么地方,二是要处理的数据有多长。

8.1  bx/si/di和bp

1.  8086cpu中,只有bx,bp,si,di可以在[...]中进行内存单元的寻址。这四个寄存器只能单个出现,或出现两个(bx-si,bx-di,bp-si,bp-di),si,di或bx,bp是不可以同时出现的。在以上的组合中,都可以再加上idata.

2.  只要在[...]中使用寄存器bp,而指令中没有显式地给出段地址,那么它的段地址就默认在ss中。如:mov ax,2[bp][si]   m...
阅读全文 | 评论次数(0) | 浏览次数(582) | 所属类型(汇编作业)

[2010-09-04 10:53] 学习笔记   第七章

7.0  更灵活的定位内在地址的方法

7.1  AND和OR命令

1.  AND指令,即逻辑“与”指令,按位进行运算。与 1 ,即不变;与 0 ,即为0.通过该指令可将操作对象的相应位设为0,其他位不变.(只要懂得与运算就可以了)

2.  OR指令,即逻辑“或”指令,按位进行运算。或 0 ,即不变;或 1 ,即为1.通过该指令可将相应位设为1,其它不变。

7.2  关于ASC||码

1.  我们在键盘上按下一个键的时候(即输入一个字符),计算机会收到一个编码信息(按某一规则编出来的代码),并把它保存在内存中。反之,用同一种规则可以把这个编码信息再还原成输入的那个字...
阅读全文 | 评论次数(0) | 浏览次数(517) | 所属类型(汇编作业)

[2010-09-03 16:34] 学习笔记  第六章

6.1  在代码段中使用数据

1.  程序入口点即程序第一条要执行指令的地址。在源程序中用标号指明入口点,在编译、连接后,由“END 标号”指明程序入口,被转化为入口地址,存储在可执行文件的信息中。

6.2 在代码段中使用栈

1.  设置SS、SP,注意它们要放在一起执行。设置SP和使用栈时要严防超界问题发生。

6.3  将数据、代码、栈放入不同的段

1.  原因:A,它们同时放在同一个段,使程序显得混乱;B,如果它们的容量大于64KB,就不能放入同一个段中(8086模式的限制)。

2.  段名相当于一个标号,代表了段地址。引用段地址时要用寄存器中转,不支持...
阅读全文 | 评论次数(0) | 浏览次数(460) | 所属类型(汇编作业)

[2010-09-02 18:42] 学习笔记  第五章

5.0 内存单元描述

1. [BX]表示一个内存单元,默认段寄存器为DS,(BX)为偏移地址。如:MOV AX,[26];MOV [BX],AH。

2.  在8086CPU中,只允许BX,BP,SI,DI在【 】中表示内存单元地址,别的都是非法的。(从讨论区看来的)

3. 约定:(AX)表示AX中的内容,(AL)表示AL中的内容。()中的元素可以有三种:寄存器名,段寄存器名,内存单元的物理地址(20位)。如(2000:0)是错误的用法。 约定:用IDATA表示常量。

5.1 [BX]

1. 物理地址PA,段地址SA,偏移地址EA。

2. 指令INC BX,意...
阅读全文 | 评论次数(0) | 浏览次数(548) | 所属类型(汇编作业)

[2010-09-02 11:30] 学习笔记 第四章

4.1 一个源程序从写出到执行的过程

1. 用文本编辑器编写汇编源程序。

2. 对源文件进行编译产生目标文件。

3. 对目标文件进行连接,产生自动执行文件。可执行文件包含两部分内容:
  A.程序,即从源程序中的汇编指令翻译过来的机器码。
  B.即源程序中定义的数据。
  C.相关的描述信息,如:程序有多大、要占用多少内存空间等。

4. 执行可执行文件。

5.操作系统依照可执行文件中的描述信息,将可执行文件中的机器码和数据加载到内存,并进行相关的初始化,交CPU执行。

4.2 源程序

1. 汇编指令有对应的机器码,可以被编译为机器指令,最终为C...
阅读全文 | 评论次数(2) | 浏览次数(679) | 所属类型(汇编作业)
『 查看更多文章 』