描述了单元长度的标号,即在数据段的标号,可标识地址与单位长度。此标号为数据标号。
在后面加冒号“:”的地址标号,只能在代码段中使用,其他段,就只要给个标号就行了。
如果想要在代码段中直接用数据标号访问数据,则需要用伪指令assume将标号所在的段合一个段寄存器联系起来。否则编译器无法确定段地址。...

- [游客] 在调用API函数的时候,函数原型也必须预先声明,否则,编译器会不认这个函数。invoke伪指令也无法 07/16 17:30
- [bhou] invoke 伪指令,能在一句中,打入所有的参数,并能在参数使用错误的时候能够提示。 返回值对 07/16 16:36
- [bhou] 用API方式调用存放在DLL中的函数必须同样约定一个规范,用来定义函数的调用方法、参数的传递方法和参 07/16 16:23
- [bhou] Win32程序时构筑在Win32API基础上的。在API中,包括了大量的函数、结构和消息等。它不仅给 07/16 16:19
- [bhou] 注释时源程序中不可忽略的一部分,汇编源程序的注释以分号“;”开始。 当源程序的某一行过长,不利 07/16 15:54
- [bhou] 一个源程序不必非要指定入口标号,这时可以把开始地址忽略不写,这种情况发生在编写多模块程序的单个模块时 07/16 15:50
- [bhou] 堆栈段的内存属性时可读写并且时可执行的,这样靠动态修改代码的反跟踪模块可以拷贝到堆栈中去边修改边执行 07/16 15:46
- [bhou] .code段时代码段,所有的指令都必须卸载代码段中,在可执行文件中,代码段一般时放在_TEXT节区中 07/16 15:43
- [bhou] .data, .data?和.const 定义的是数据段,分别对应不同方式的数据定义,在最后生成的可 07/16 15:36
- [bhou] 选项、模式等定义,并不会在编译号的可执行程序中产生什么东西,他们只是“说明”,真正的数据和代码时定义 07/16 15:16
[2010-07-09 16:47] 第16章 直接定址表 粗略 笔记
阅读全文 |
评论次数(0) |
浏览次数(502) |
所属类型(《汇编语言》笔记)
[2010-07-09 16:27] 第15章 外中断 粗略 笔记
PC系统中,外中断源有两种,
1、可屏蔽中断,CPU是否需要响应这种可屏蔽中断,要看标志寄存器的IF位,如果IF=1则响应。
sti 设置IF=1,
cli 设置IF=0;
2、不可屏蔽中断;必须响应的外中断,CPU在执行完当前指令后,需要立即响应,引发中断过程。
不可屏蔽中断的中断类型码固定位2,中断过程不需要取中断类型码。
几乎所有由外设引发的外中断都是可屏蔽中断,。不可评比中断是在系统中有必须处理的紧急情况发生时,用来通知CPU的中断信息。...
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来存放从端口读入的数据或要发送的数据。
(不是很明白,一个端口,指得是一个芯片的代号,还是芯片上的某一个内存地址的代号?)...
端口地址范围是0~65535
对端口的读写,不能用mov,push等内存读写指令,
只有in跟out两条。
in al,60h (从60H号端口读入一个字节)
执行时:
CPU通过地址线将地址信息60H发出
通过控制线发出读命令,选中端口所在的芯片,通知它将要读数据
端口将60H的数据通过数据线送入CPU
在in和out指令中,只能使用ax或者al来存放从端口读入的数据或要发送的数据。
(不是很明白,一个端口,指得是一个芯片的代号,还是芯片上的某一个内存地址的代号?)...
阅读全文 |
评论次数(1) |
浏览次数(534) |
所属类型(《汇编语言》笔记)
[2010-07-02 16:45] 第13章 int指令 学习笔记
int指令引起的中断,是另一种重要的内中断。
int n(n为中断类型码)
执行这条指令时,相当于,引发了一个n号中断的中断过程。
即调用了一段中断处理程序,跟call指令功能差不多。...
int n(n为中断类型码)
执行这条指令时,相当于,引发了一个n号中断的中断过程。
即调用了一段中断处理程序,跟call指令功能差不多。...
阅读全文 |
评论次数(2) |
浏览次数(535) |
所属类型(《汇编语言》笔记)
[2010-07-02 15:50] 第12章 内中断 学习笔记
在CPU内部,如果有以下4种情况发生的时候,将会产生相应的中断信息
1)除法错误,如执行div时候,产生的除法溢出
2)单步执行
3)执行into指令
4)执行int指令...
1)除法错误,如执行div时候,产生的除法溢出
2)单步执行
3)执行into指令
4)执行int指令...
阅读全文 |
评论次数(8) |
浏览次数(316) |
所属类型(《汇编语言》笔记)
[2010-07-02 11:15] 第十一章 标志寄存器
标志寄存器,简称flag,它是按位起作用的,每一位都有专门的含义。
标志寄存器作用:
1)用来存储相关指令的某些执行结果;
2)用来为CPU执行相关指令提供行为依据;
3)用来控制CPU的相关工作方式
在8086CPU中,1,3,5,12,13,14,15位都是无效的。
0,2,4,6,7,8,9,10,11对应
CF,PF,AF,ZF,SF,TF,IF,DF,OF...
标志寄存器作用:
1)用来存储相关指令的某些执行结果;
2)用来为CPU执行相关指令提供行为依据;
3)用来控制CPU的相关工作方式
在8086CPU中,1,3,5,12,13,14,15位都是无效的。
0,2,4,6,7,8,9,10,11对应
CF,PF,AF,ZF,SF,TF,IF,DF,OF...
阅读全文 |
评论次数(15) |
浏览次数(504) |
所属类型(《汇编语言》笔记)
[2010-07-02 09:43] 第十章 Call和Ret指令
call和ret指令都是转移指令,他们都可以修改IP或者同事修改CS与IP。他们经常被共同用来实现子程序的设计。
ret指令用栈中的数据,修改IP的内容,从而实现近转移
retf指令用栈中的数据,修改CS和IP的内容,从而实现远转移
当CPU执行ret指令的时候,会从栈中pop一个16位的数据,做为IP数值。
当cpu执行retf指令时,会先pop一个做IP,再Pop一个做CS...
ret指令用栈中的数据,修改IP的内容,从而实现近转移
retf指令用栈中的数据,修改CS和IP的内容,从而实现远转移
当CPU执行ret指令的时候,会从栈中pop一个16位的数据,做为IP数值。
当cpu执行retf指令时,会先pop一个做IP,再Pop一个做CS...
阅读全文 |
评论次数(9) |
浏览次数(242) |
所属类型(《汇编语言》笔记)
[2010-06-29 17:00] 【注意】在内存与数值之间进行存值时,需要指定数据类型
如:
mov [bx],0
这句是错的,会出编译错误
需要变成 mov word ptr [bx],0...
mov [bx],0
这句是错的,会出编译错误
需要变成 mov word ptr [bx],0...
阅读全文 |
评论次数(1) |
浏览次数(220) |
所属类型(《汇编语言》笔记)
[2010-06-28 15:40] 第九章 转移指令的原理 学习笔记
操作符offset,是由编译器处理的符号,功能是取得标号的偏移地址。...
阅读全文 |
评论次数(11) |
浏览次数(336) |
所属类型(《汇编语言》笔记)
[2010-06-28 02:53] 第八章 数据处理的两个基本问题 学习笔记
IP是什么?不是一种寄存器?书上没有列出来。突然多了一个bp。...
阅读全文 |
评论次数(5) |
浏览次数(207) |
所属类型(《汇编语言》笔记)