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

我的博客

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

[2010-07-16 14:51] Win32汇编  第3章 使用MASM  笔记

模式和源程序格式的定义语句:
.386
.model flat,stdcall
option casemap:none

.386语句是汇编语言的伪指令,在DOS中的汇编默认使用的是8086指令集,为了在DOS环境下进行保护模式编程或仅为了使用32位寄存器,就需要用这个指令来定义。

.386p 后面的p表示程序中可以使用特权指令,这样,特权指令才能编译过去。

.mmx Pentium MMX开始增加了MMX指令集,为了使用MMX指令,需要定义这个指令。

.model 这个用来定义程序工作的模式,
它的使用方法是:
.model 内存模式[,语言模式][,其他模式...
阅读全文 | 评论次数(13) | 浏览次数(778) | 所属类型(罗云杉--Win32汇编)

[2010-07-14 15:13] Win32汇编  第2章 准备编程环境  笔记

第二章一开篇,怎么还是那么艰难!!!

DOS可执行文件中的内容是由源程序中所写的代码和数据定义转换而来的。唯一的例外是带覆盖部分(overlay)的exe文件
(什么叫带覆盖部分的exe文件????)
它在基本的exe文件后,附加了一些自定义的数据
(怎么加上去的?)
其中可执行部分的长度由文件头偏移0002h和0004h中的长度给出,该长度之后到文件实际长度这部分就是overlay部分。

这样,即使一个带覆盖的exe文件大小超过了640kb,在DOS下也能运行,因为操作系统只装入真正的可执行部分,然后由程序自己去读取覆盖部分的数据。

而Win32可执行文件佳作PE文...
阅读全文 | 评论次数(8) | 浏览次数(622) | 所属类型(罗云杉--Win32汇编)

[2010-07-13 15:24] Win32汇编  第一章 背景知识  笔记

windows的特色:
图形用户界面
一致的用户界面
多任务
大量的函数调用
和设备的无关性
内存管理。...
阅读全文 | 评论次数(19) | 浏览次数(867) | 所属类型(罗云杉--Win32汇编)

[2010-07-13 10:55] Win32汇编  前言  笔记

“其实,任何汇编语言都是和操作系统密切相关的,不管是dos汇编,win32汇编,还是linux汇编,都是基于特定的操作系统的,如果一定要绕过操作系统,那么就不会有DOS汇编和Win32汇编的区别了,但是这样的话,我们不是在学汇编,而是在自己开发操作系统。高级语言在不同的操作系统上看起来都差不多,但做为一种低级语言,不同操作系统上的汇编就是不同的世界,所以,既然windows和dos是两个完全不同的操作系统,我们就必须抛弃DOS汇编中的大部分概念从头开始学习Win32汇编。win32汇编是Windows环境下一种全新的编程语言”...
阅读全文 | 评论次数(0) | 浏览次数(585) | 所属类型(罗云杉--Win32汇编)

[2010-07-09 16:47] 第16章 直接定址表 粗略 笔记

描述了单元长度的标号,即在数据段的标号,可标识地址与单位长度。此标号为数据标号。

在后面加冒号“:”的地址标号,只能在代码段中使用,其他段,就只要给个标号就行了。

如果想要在代码段中直接用数据标号访问数据,则需要用伪指令assume将标号所在的段合一个段寄存器联系起来。否则编译器无法确定段地址。...
阅读全文 | 评论次数(0) | 浏览次数(502) | 所属类型(《汇编语言》笔记)

[2010-07-09 16:27] 第15章 外中断 粗略 笔记

PC系统中,外中断源有两种,
1、可屏蔽中断,CPU是否需要响应这种可屏蔽中断,要看标志寄存器的IF位,如果IF=1则响应。
sti 设置IF=1,
cli 设置IF=0;

2、不可屏蔽中断;必须响应的外中断,CPU在执行完当前指令后,需要立即响应,引发中断过程。

不可屏蔽中断的中断类型码固定位2,中断过程不需要取中断类型码。

几乎所有由外设引发的外中断都是可屏蔽中断,。不可评比中断是在系统中有必须处理的紧急情况发生时,用来通知CPU的中断信息。...
阅读全文 | 评论次数(0) | 浏览次数(534) | 所属类型(《汇编语言》笔记)

[2010-07-02 17:10] 第14章 端口 学习笔记

在PC系统中,CPU最多可以定位64KB个不同的端口
端口地址范围是0~65535

对端口的读写,不能用mov,push等内存读写指令,
只有in跟out两条。

in al,60h (从60H号端口读入一个字节)
执行时:
CPU通过地址线将地址信息60H发出
通过控制线发出读命令,选中端口所在的芯片,通知它将要读数据
端口将60H的数据通过数据线送入CPU

在in和out指令中,只能使用ax或者al来存放从端口读入的数据或要发送的数据。

(不是很明白,一个端口,指得是一个芯片的代号,还是芯片上的某一个内存地址的代号?)...
阅读全文 | 评论次数(1) | 浏览次数(534) | 所属类型(《汇编语言》笔记)

[2010-07-02 17:01] 第13章 试验13 编写、应用中断例程(以后再补)

RT...
阅读全文 | 评论次数(0) | 浏览次数(546) | 所属类型(汇编语言检测点自答)

[2010-07-02 16:57] 第13章 检测点13.2  自答

1)应该是不能编程改变的因为这段内存是只读的。
2)应该是可以的。dos也是一种操作系统吧?...
阅读全文 | 评论次数(1) | 浏览次数(587) | 所属类型(汇编语言检测点自答)

[2010-07-02 16:45] 第13章 int指令 学习笔记

int指令引起的中断,是另一种重要的内中断。

int n(n为中断类型码)
执行这条指令时,相当于,引发了一个n号中断的中断过程。
即调用了一段中断处理程序,跟call指令功能差不多。...
阅读全文 | 评论次数(2) | 浏览次数(535) | 所属类型(《汇编语言》笔记)
『 查看更多文章 』