文档介绍:汇编语言介绍
绝对汇编:只能将助记符转换成机器码,如DEBUG中
的A命令
符号汇编:增加了对段的定义和对符号表示的变量、
常数、地址等的支持
宏汇编:增加了宏指令、结构、记录等高级功能
在汇编时不产生目标代码,仅在编译过程中起控制或指
示作用。如OFFSET指令
计算机原理讲义
汇编语言介绍
将常用的一系列指令定义成一条宏指令,编译时先对宏指
令进行预处理(宏展开),再对展开之后的程序进行编译。
编辑源程序编译连接调试
(一)编辑源程序
操作: 为扩展名的源程序文件
工具:用EDIT、NOTPAD、UltraEdit编辑
存盘形式:以ASCII码形式存盘,可直接打印
计算机原理讲义
汇编语言介绍
(二)编译
操作: 为扩展名的目标文件
工具:
Microsoft公司的
Borland 公司的
存盘形式:以二进制形式存盘
(三)连接
操作: 文件连接(再定
位)形成可执行文件, 文件。
工具: 或
例: + Test
计算机原理讲义
汇编语言介绍
(四)调试
操作:对程序进行调试
工具: 或
本课程将配置UltraEdit软件为汇编程序调试的IDE环境
(Integrated Development Enviroment),集编辑、编译、连
接和调试为一起,。
计算机原理讲义
汇编语言介绍
※.
①.COM文件是内存映像文件,直接装入内存即可执行,其中
代码段、数据段、堆栈段、扩展段的段地址完全相同。程
序长度不超过64KB,装入执行速度较快。
②.EXE文件不是内存映像文件,执行时需要把代码段、数据
段、堆栈段等重新定位,然后才能执行,装入执行速度相
对较慢。
③
(Program Segment Prefix,程序段前缀),里面是程序
运行的基本信息,存放在程序开始的0~FFH处,PSP的长
度是256个字节。
计算机原理讲义
※程序段前缀说明
字段字段
① PSP+0H处存放了一字段说明
偏移长度
条指令,是用于结
束程序的DOS中断, PSP+0H 2 指令INT 20H,终止程序
即INT 20H +2H 2 可用内存空间,以小段为单位
② PSP+2H处是程序可
+4H 1 保留
用的内存空间,以
小段为单位,每小+5H 5 DOS功能调用入口(同INT 21H)
段为16字节+0AH 4 运行终止处理程序地址(INT 22H)
③ PSP+5H处是DOS功能+0EH 4 CTRL_BREAK中断出口地址(INT 23H)
调用INT 21H的入
+12H 4 标准错误出口地址(INT 24H)
口地址。
④ PSP+0AH~0DH是INT +16H 22 保留
22H的入口IP和CS +2CH 48 DOS专用,前两字节为环境块地址
⑤ PSP+0EH~11H是INT +5CH 16 格式化参数1,给未打开的FCB用
23H的入口IP和CS
⑥ PSP+12H~15H是INT +6CH 16 格式化参数2,给未打开的FCB用
24H的入口IP和CS +7CH 4 保留
⑦ PSP+2CH处是环境块+80H 128 非格式化参数或默认磁盘传输地址
地址计算机原理讲义
汇编语言介绍
⑧参数传递
早期的DOS支持格式化参数,例:
COPY A:\ C:\
将A:\+5CH处,格式为:
0 1 2 3 4 5 6 7 8 9 10 11
1 F I L E 1 A S M
将B:\+6CH处
⑨非格式化参数存于PSP+80H处
计算机原理讲义
汇编语言介绍