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

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
  •  此情可待成追忆 只是当时已惘然
  • 『姓名』:流浪鱼              
  • 『性别』:保密  『发送消息
  • 个人说明:伟大航路
  • 详细信息『加为好友』
学习动态
最新留言
文章收藏
友情链接

[2008-06-10 16:17] 实验16

直接定址表

1.以前我们使用的标号只表示了内存单元的地址,现在还有一种标号可以同时表示内存单元的地址(也就是在段中的偏移地址)和内存单元的长度,以前用到的标号只能在code段中使用,而现在的这种标号可以data段中使用,其实就是少了个冒号

以前的标号 a: db 1,2,3,4,5,6,7,8  称为地址标号
现在的标号 a  db 1,2,3,4,5,6,7,8  称为数据标号

2.在其他段中的使用数据标号
若想在代码段中直接使用数据标号访问数据,需要用伪指令assume将标号所在的段和一个段寄存器联系起来,同时我们也要在code段用指令对段寄存器进行设置

seg...
阅读全文 | 评论次数(2) | 浏览次数(969) | 所属类型(汇编笔记)

[2008-06-10 08:58] 第15章汇编笔记

点击查看原图
外中断

CPU除了有运算能力之外,还要有I/O能力,那要及时处理外设的输入
需要解决两个问题:CPU如何得知外设的输入,从何处得到外设的输入

1.接口芯片和端口
CPU不直接对外设进行操作,外设的输入不直接送入CPU,而是送入相关的接口芯片的端口中;CPU向外设的输出也不是直接送入外设,而是先送入端口,再由相关芯片送到外设

2.外设随时可能发生需要CPU及时处理的事件,CPU提供了中断机制来满足这种需要
在PC系统中,外中断源有两类:
(1).可屏蔽中断:指CPU可以不响应的中断,有IF位控制,IF=1,响应,否则不响应
sti 设置IF=1
cli 设置IF=0...
阅读全文 | 评论次数(1) | 浏览次数(373) | 所属类型(汇编笔记)

[2008-06-10 08:16] 第十四章汇编笔记

端口

1.CPU将各种存储器都视为内存来对待,对它们总的看做一个由若干存储单元组成的逻辑存储器,这个逻辑存储器我们称为内存地址空间。

2.在PC机系统中,和CPU通过总线相连的芯片除了存储器,还有另外3种芯片:
(1).各种接口卡(显卡、网卡)
(2).主板上的接口芯片
(3).其他芯片,用来存储相关信息
在这些芯片中,都有一组可以由CPU读写的寄存器
它们的共同点:与总线相连,CPU通过端口读写命令来访问芯片

3.从CPU的角度,将这些寄存器都当作端口,对它们进行统一编址,从而建立一个统一的端口地址空间。

CPU能够直接读写3个地方的数据:CPU内的寄存器,...
阅读全文 | 评论次数(1) | 浏览次数(645) | 所属类型(汇编笔记)

[2008-06-03 21:47] 第十三章汇编笔记

点击查看原图
int指令:另一种重要的内中断

1.int指令引发中断:
(1).取中断类型码n
(2).标志寄存器入栈,IF=0,TF=0
(3).CS,IP入栈
(4).IP=n*4, CS=n*4+2

int指令的最终功能和call相似,调用一段程序,系统会提供,我们自己也能编写
以后将中断处理程序称为中断例程

2.中断例程编写
我理解的中断例程编写分为两个步骤
(1).编写安装程序,安装程序包括:指令复制,中断向量表项修改(即指定入口地址),中断例程
(2).编写应用程序,即用户想干什么
在第一步中需要注意的是,将中断例程中要用到的寄存器保护起来,以免和用户使用的寄...
阅读全文 | 评论次数(2) | 浏览次数(406) | 所属类型(汇编笔记)

[2008-06-03 11:28] 第十二章汇编笔记

点击查看原图
内中断

中断信息可以来自CPU的内部和外部

1.首先是内部中断
除法错误,如div溢出
单步执行,在debug调试中使用t命令
执行into命令,还没有用过
执行int命令,如每次程序结尾的int 21h

8086CPU用称为中断类型码的数据来标识中断信息的来源,中断类型码为一个字节型数据,可以表示256种中断信息来源。
将产生中断信息的事件,即中断信息的来源,简称中断源

2.中断处理程序
受到中断信息后,需要对信息进行处理,如何处理,可以由我们编程决定,也可以使用系统提供的中断处理程序。现在首要问题是,如何去执行中断处理程序,即需要程序入口地址。通过中断类...
阅读全文 | 评论次数(0) | 浏览次数(339) | 所属类型(汇编笔记)

[2008-06-02 21:07] 第十一章汇编笔记

点击查看原图
标志寄存器:这一章要记的东西还是很多的

CPU内部的寄存器中,有一种特殊的寄存器被称为标志寄存器,有16位,其中存储的信息通常被称为程序状态字(PSW)。

这一章讲讲了六个标志位CF,PF,ZF,SF,OF,DF,一共有9个

1.ZF(zero flag)
记录相关指令执行后,其结果是否为0,如果结果为0,则zf=1,否则为0
注意:在8086指令集中,有的指令的执行是影响标志位的,如add,sub,mul,div,inc,or,and等,它们大都是运算指令;有的指令不影响标志位,如mov,push,pop等,它们大都是传送指令

2.PF(parity flag) ...
阅读全文 | 评论次数(2) | 浏览次数(409) | 所属类型(汇编笔记)

[2008-06-01 22:30] 第十章汇编笔记

call和ret指令

call和ret指令都为转移指令,都能修改IP或同时修改CS,IP,他们经常成对出现实现子程序的设计

1.ret和retf
相对call的用法,ret就少多了
ret指令:用栈中的数据修改IP,实现近转移,可以看到ret和retf都是以字为单位进行操作,很显然就是近转移

retf:实现远转移,应该就是段间转移吧,需要CS,IP,它们都是从栈中得到的,相当于进行了pop IP和pop CS命令,注意先后顺序

2.call指令
两步操作:将当前的IP或IP和CS压入栈中;转移

1..根据位移进行转移 call 标号 
将当前IP入栈,然后...
阅读全文 | 评论次数(0) | 浏览次数(345) | 所属类型(汇编笔记)

[2008-06-01 21:26] 第九章汇编笔记

转移指令的原理

能修改IP,或者能同时修改CS,IP的指令称为转移指令

8086的转移行为分为以下几类
1.只修改IP,为段内转移,如jmp ax
段内转移由于转移指令对于IP的修改范围的不同分为:短转移和近转移
短转移的IP范围:-128---127(8位寄存器的有符号存储范围)
近转移的IP范围:-32768--32767(16位reg的有符号存储范围)

8086CPU的转移指令又分为以下几类
1.无条件转移jmp,跟C语言的goto很像
2.条件转移指令
3.循环指令(loop)
4.过程
5.中断

这是第九章开篇的一段话,学到13章后才觉得这段...
阅读全文 | 评论次数(0) | 浏览次数(575) | 所属类型(汇编笔记)

[2008-06-01 19:08] 第八章汇编笔记

点击查看原图
数据处理的两个基本问题:
1.处理的数据在什么地方?
2.要处理的数据有多长?(CPU完全不关心数据是多少)

对于这两个问题我的理解是怎么寻址,怎么寻址有效率,寄存器匹配数据

1.bx,si,di,bp的用法,我觉得书上8.1总结的很好了,在此只有一点补充就是如指令mov [bx],[si]我没记错的话,应该是不能通过编译的,非要用ax中转下

2.绝大部分的机器指令都是进行数据处理的指令,大致分三类:读,写,算。指令不关心数据是多少,关心存放数据的地址

3.寻之方式总结,贴张图上来,方便些

4.数据长度:8086只能处理byte,word。在没有寄存器名存在的...
阅读全文 | 评论次数(0) | 浏览次数(312) | 所属类型(汇编笔记)

[2008-06-01 17:46] 第七章汇编笔记

更灵活的定位内存地址的方法

1.and和or命令
and 通过该指令可将操作对象的相应位设为0,其他位不变
or  通过该命令可将操作对象的相应位设为1,其他位不变

2.计算机只知道二进制,但是人能理解的信息是已经具有约定意义的字符。只要编码和解码采用相同的规则,我们就可以将人能理解的信息存入到计算机,再从计算机中取出。计算机系统通常采用ASCII码

3.用'......'形式指明数据是以字符的形式给出的编译器会将他们转化为ASCII码。

4.大小写字母转换,ASCII中小写字母-20H=大写字母,那么我们首先需要判断一个字母是大写还是小写,这样就要用到条件语句之类...
阅读全文 | 评论次数(1) | 浏览次数(367) | 所属类型(汇编笔记)
页码数(2):  1  2