如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
32位微型计算机原理与接口技术第6章汇编语言程序设计计算机应用教研室/实验中心计算机系楼407/4135895394/5895390(办)1第6章汇编语言程序设计汇编语言程序设计基础1文本编辑器,如EDIT.COM编辑错误源程序:文件名.asm汇编程序,如ML.EXE汇编错误目标模块:文件名.obj连接程序,如LINK.EXE连接错误可执行文件:文件名.exe调试程序,如DEBUG.EXE调试错误应用程序2第6章汇编语言程序设计汇编语言程序设计基础2源程序的编辑源程序文件要以ASM为扩展名,源程序文件的形成(编辑)可以通过任何一个文本编辑器实现:DOS中的全屏幕文本编辑器EDIT其他程序开发工具中的编辑环境MASM程序员工作平台PWB中的编辑环境如:EDITlt301a.asm汇编是将源程序翻译成由机器代码组成的目标模块文件的过程MASM6.x提供的汇编程序是ML.EXE,如:ML/clt301a.asmMASM5.x提供的汇编程序是MASM.EXE,如:MASMlt301a.asm如果源程序中没有语法错误,MASM将自动生成一个目标模块文件(lt301a.obj);否则MASM将给出相应的错误信息这时应根据错误信息,重新编辑修改源程序后,再进行汇编3第6章汇编语言程序设计汇编语言程序设计基础3连接连接程序能把一个或多个目标文件和库文件合成一个可执行程序(.EXE、.COM文件),如:LINKlt301a.obj如果没有严重错误,LINK将生成一个可执行文件lt301a.exe;否则将提示相应的错误信息,这时需要根据错误信息重新修改源程序后再汇编、链接,直到生成可执行文件列表文件是一种文本文件,含有源程序和目标代码,对我们学习汇编语言程序设计和发现错误很有用。经汇编、连接生成的可执行程序在操作系统下只要输入文件名就可以运行:lt301a,操作系统装载该文件进入主存,并开始运行。如果出现运行错误,可以从源程序开始排错,也可以利用调试程序帮助发现错误调试:采用DEBUG.EXE调试程序:DEBUGlt301a.exe4第6章汇编语言程序设计6.1汇编程序的编程格式实模式、保护模式、虚拟X86模式6.1汇编程序的编程格式了解DOS支持的exe程序和com程序一、EXE文件的编程格式利用程序开发工具,通常将生成EXE结构的可执行程序(扩展名为.EXE的文件)它可以有独立的代码、数据和堆栈段,还可以有多个代码段或多个数据段,程序长度可以超过64KB,执行起始处可以任意指定当DOS装入或执行一个程序时,DOS确定当前主存中最低的可用地址作为该程序的装入起始点。此点以下的区域称为程序段。在程序段内偏移0处,DOS为该程序建立一个程序段前缀控制块PSP(ProgramSegmentPrefix),它占256(=100h)个字节;而在偏移100h处才装入程序本身5第6章汇编语言程序设计6.1.1EXE文件的编程格式exe程序的内存映象图6第6章汇编语言程序设计例6.1.1显示10行HELLO;filename:611.asmmovsp,100datasegmentmovax,datamesgdb'hello',0dh,0ah,'$'movds,ax;dsdataends;定义数据段计数次Stack1segmentparastackmovcx,10;10'stack';use16last:movah,9db100dup(?)movdx,offsetmesgstack1ends;定义堆栈段int21h;显示1行codesegmentlooplastassumemovah,4chcs:code,ds:data,ss:stack1int21h;dos返回beg:movax,stack1codeendsmovss,ax;初始化ssendbeg7第6章汇编语言程序设计EXE说明通过编辑、汇编、链接生成.EXE文件DOS装载.EXE文件在用户程序上方00H~FFH自动生成PSP(ProgramSegmentPrefix),DOS自动DS=ES=PSP基址,FS=GS=0,CS:IP,SS:SP程序中指定8第6章汇编语言程序设计6.1.2COM文件的编程格式二、COM文件的编程格式COM程序是一种将代码、数据和堆栈段合一的结构紧凑的程序,所有代码、数据都在一个逻辑段内,不超过64KB在程序开发时,需要满足一定要求并采用相应参数才能正确生成COM结构的程序C