免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
汇编语言源程序的结构及上机步骤汇编语言源程序有两类:其一,经汇编后生成扩展名为EXE的可执行文件(简称EXE文件);其二,经汇编后生成扩展名为COM的紧凑格式文件(可执行,简称COM文件)。这两种文件具有不同的优先级,其源程序结构也有较大差异。 1.EXE文件的汇编格式 (1) 特点:程序可带重定位信息,程序分段,每段64K,文件较长 程序装入内存时,CS、SS由系统赋值,DS、ES由用户赋值 (2)EXE汇编语言源程序一般结构如下: ; program title goes head-(程序题目放这里) ; ;EQU STATEMENT GO HEAD-(等值语句放这里) ; * STACK SEGMENT PARA STACK STACK;堆栈段 DB 20 DUP(STACK ) STACK ENDS ;* DATASG SEGMENT ;数据段 ; DATA GOES HEAR DATASG ENDS ; * EXTRA SEGMENT ;附加段(可有可无) ; DATA GOES HEAR EXTRA ENDS ; * CODESG SEGMENT ;代码段 ; - MAIN PROC FAR ;主过程 ASSUME CS:CODESG,DS:DATASG,ES:EXTRA,SS:STACK PUSH DS ;程序段前缀PSP MOV AX,0 ;首地址入栈 PUSH AX MOV AX,DATASG ;将数据段的段地址传送给 MOV DS,AX ;段寄存器DS MOV AX,EXTRA ;将附加段的段地址传送给 MOV ES,AX ;段寄存器ES ; MAIN PART OF PROGRAM GOES HEAR(程序的主要部分放这里) RET ;(返回) MAIN ENDP ;- CODESG ENDS ;* END MAIN ;程序结束 说明: 系统在为用户文件分配内存空间时,会多分配256个BYTE(100H)内存空间给该文件,而这256 BYTE时放在程序的机器码前面,所以这个区域称为程序段前缀(PSP Program System Prefix),此区域内所纪录的内容为用户跟系统沟通的一些相关信息. 在程序段前缀PSP的首地址中,存放了一条INT 20H(程序结束)的指令。 (3) EXE文件装入内存中的情况如图3.3.1所示(一开始,段寄存器DS、ES指向段前缀PSP的段地址 ) 低地址 程序段前缀 PSPDS:0H,ES:0H 代码段CS:0H(IP=0) CS:IP(指向下一条要执行的指令) 数据段 附加段 高地址 堆栈段SS:0H SS:SP(指向栈顶)图3.3.1 2. COM文件的汇编格式 (1) 特点:程序不能带可重定位信息;整个源程序只能使用一个逻辑段;程序装入内存时,CS、SS 、DS、ES指向同一段,均由系统赋值;第一条可执行指令位于段内偏移量为0100H的地方 (前面256个字节为程序段前缀PSP所在地);数据区可设置在代码段的开始或末尾(与指令代码的合计总长度小于64KB等。 (2) COM汇编语言源程序一般结构如下: ; program title goes head-(程序题目放这里) ; ;EQU STATEMENT GO HEAD-(等值语句放这里) ; * CODESG SEGMENT ;代码段 ; - MAIN PROC NEAR ;主过程只能是NEAR属性 ORG 100H ;使第一条可执行指令位于段内偏移量为0100H的地方 ASSUME CS: CODESG,DS: CODESG ,ES: CODESG,SS: CODESG ;CS、SS 、DS、ES指向同一段 ; MAIN PART OF PROGRAM GOES HEAR(程序的主要部分放这里) MOV AX,4C00H ;退出汇编程序 INT 21H ; 或 INT 20H MAIN ENDP ; - CODESG ENDS ; * END MAIN ;程序结束 (3) .COM文件装入内存中的情况如图所示(一开始,段寄存器CS、ES、DS、ED同一段地址 ) COM文件装入内存中的示意图 低地址 程序段前缀 PSPCS:0H,SS:0H,DS:0H,ES:0H 代码 数据 堆栈IP=100H SP=0FFFEH 图3.3.2 3退出程序的方法 (1)使用DOS系统功能调用的4CH子功能(带返回码的退出) MOV AH, 4CH INT 21H 或:MOV AX,4C00H ;将00H传送到AL中,即返回码为:0(正常退出) (2)使用DOS 的INT 20H(程序结束) INT 20H 说明:不是在程序的任一处都能通过发出一条INT 20H的指令退出程序。使用这一指令前,要求寄存器CS必须含有程序段前缀PSP的段地址。而在程序段前缀PSP的首地址中,就是一条INT 20H的指令。 4. 汇编程序的上机过程 1. 汇编程序的上机步骤 (1) 用编辑程序建立.ASM源文件; (2) 用MASM 程序把.ASM文件转换成.OBJ文件; (3) 用LINK程序把OBJ文件转换成EXE文件; (4) 用DOS命令直接键入文件名就可执行该程序 (见汇编语言上机过程图) 1. 编辑程序 (EDIT.EXE)汇编源程序文件 (1.a) .ASM 2. 汇编程序 (MASM.EXE) 有错?有无无列表文件 (2.b) .LST交叉索引文件 (2.C) .CRF5.将交叉索引文件变成可打印的文件程序 (
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年部编版新教材道德与法治八年级上册教学计划(含进度表)
- 肺部听诊与肺部物理治疗
- 消化性溃疡的护理和观察
- 作业治疗病例汇报
- 员工思想报告范例2026(3篇)
- 电子政务自查报告(3篇)
- 安全会议APP指南讲解
- 安全责任罚则讲解
- 2026及未来5年中国啤酒机数据监测研究报告
- 2026及未来5年中国吊带手挽袋数据监测研究报告
- 2026年贵州省中考英语试题(含答案)
- 2026年福建从村党组织书记、村委会主任中考试录用乡镇机关公务员练习试题及答案
- 2026年网格员矛盾纠纷排查化解理论知识试题及答案
- 文化墙改造施工组织设计方案
- 2026年湖北省武汉市中考数学试题卷(答案解析版)
- 【中考真题】云南省2026年初中学业水平考试语文真题试卷(含答案)
- 三升四英语暑假衔接作业完整版 人教PEP版小学三年级升四年级每日一练(可打印)
- 2026年南昌大学第二附属医院医护人员招聘考试参考试题及答案详解
- 2026年国网中高级职称评定考试(国家电网)复习题及答案
- GB/T 223.11-2008钢铁及合金铬含量的测定可视滴定或电位滴定法
- GB/T 12755-2008建筑用压型钢板
评论
0/150
提交评论