微机原理第四章.ppt
文本预览下载声明
第3章 汇编语言程序设计 3.1概述 一、机器语言、汇编语言和高级语言 1、 机器语言 计算机中指令代码以二进制编码表示,这种代码 机器可以识别与执行,把这种机器代码称为机器语言。 用机器语言编写的程序称为机器语言程序(或目的程序)。 例如 下面的机器代码就是8086CPU的三条机器指令 B8H,00H,30H 4EH,D8H B9H,14H,00H 用机器语言书写的程序人们不易看懂,也不易记忆。看起来非常的乏味。但是计算机却非常熟悉它。 2、汇编语言 用助记符代替操作码,用符号和数字代替地址码(或操作数),这种语言称为汇编语言。 用汇编语言编写的程序称为汇编语言源程序。必须经过翻译,转换成机器语言,计算机才能执行。 汇编语言人们容易记忆,也容易看懂。 例如 用8086CPU的汇编语言可以把上述的机器指令代码写成 MOV AX,3000H MOV DS,AX MOV CX,0014H 三、调试与运行 1、源文件编辑 任何文本编辑器均可用于编辑汇编语言的源程序。例如dos下的edit,turbo C集成环境的编辑器,Windows下的记事本、写字板等。 汇编语言源程序以ASCII码形式存放于内存中,扩展名应为 .ASM,给源文件命名后可存盘,源程序用大写、小写皆可。 2、源文件汇编 用Microsoft 的宏汇编程序(MASM)任何版本汇编皆可。汇编有下列几种方式 方式1: 在命令提示符下,键入 MASM? 屏幕上会出现如下提示,按照提示键入文件名回车即可 。 Source filename [.ASM]: xxx ? Object filename [xxx.OBJ]: ? Source listing [nul.LST]:xxx ? Crose-reference [nul.CRF]:xxx ? ×××××× + ×××××× Bytes symbol space free 0 Warnimg Errors 0 Severs Errors 说明:汇编后生成3个文件,即:目标文件(.OBJ),列表文件(.LST),交叉引用文件(.CRF)。同时告诉程序员汇编有无错误(警告错误和严重错误)。无错,汇编通过;有错,则修改源程序的错误后,再次汇编。 方式2 在命令行提示符下键入文件名与逗号和分号 C:\MASMMASM ABC ; (生成.OBJ文件,不产生.LST和.CRF) C:\MASMMASM ABC,,,; (生成三个文件,名称为ABC) .OBJ文件中的地址操作数是可浮动的相对地址。 .LST文件把源程序与机器代码(目的程序)都列表,可打印,显示。 .CRF是用来对符号进行前后对照的文件,可了解源程序中符号(或变量)定义或引用情况。 3、连接 在命令提示符下,键入LINK ?,或在Windows下用鼠标直接点击LINK,即可连接。 连接时屏幕显示如下: Object Modules [.OBJ]:ABC ? Run File [ABC.EXE]: ? List File [NUL.MAP]:ABC ? Libraries [.LIB]: ? (注:MASM中没有库文件,可直接键入回车) Link: Warnimg L4201: no Stack Segment (其中,L4201表示连接程序错误信息代码,4表示警告错误,201为错误号。源程序中没有堆栈段不影响连接。) LINK生成两个文件:.EXE 为可执行文件。 .MAP为内存分配图文件,提供了文件中的内存地址分配的一些信息。 4、调试与运行 用DEBUG与Codeview软件都可进行目的代码级程序的调试,对.EXE文件可直接调入DEBUG中跟踪调试。 有错误需对源程序中的语句进行修改,汇编中只能发现语法和符号等错误,不能发现编程
显示全部