实验一 汇编语言程序的建立、调试和执行 第一节 汇编语言程序的建立和执行 要建立和运行汇编语言程序,系统盘上应该首先有如下文件: EDIT.COM ;行编辑程序 ASM.EXE ;汇编程序 MASM.EXE ;宏汇编程序 LINK.EXE ;链接程序 DEBUG.COM ;调试程序 其中 ASM.EXE 是普通汇编程序,它不支持宏汇编,如果要用宏汇编,则必须用MASM.EXE。 下面,以建立和执行用户程序 ABC.EXE 为例来说明上机过程。 1、 用 EDIT 命令建立汇编语言源程序(ASM 文件) 源程序就是用汇编语言的语句编写的程序,它不能被机器识别。源程序必须以 .ASM 为附加文件名。 例如打入命令: A> EDIT ABC.ASM 回车 ;其中 ABC 为文件名,.ASM 为附加文件名,也即是扩展名。 此时用户可以通过编辑程序的插入命令编写用户程序 ABC.ASM 。下面以加偶校验程序为例输入源程序。EDIT 的使用方法可以查阅手册。 加偶校验到 ASCII 字符 标准的ASCII 码字符集用七位二进制编码来表示一个字符,而在微机中通常用一字符(8 位)来存放一个字符,它的最高位始终为零。但字符在传送时,特别是在串行传送时,由于传送距离长容易出错,就要进行校验。对一个字符的校验常用奇偶校验,即用最高位作为校验位,使得每一字符包括校验位,其中"1"的个数为奇数(奇校验)或为偶数(偶校验)。在传送时,校验电路自动产生校验位作为最高位传送; 在接收时,对接收到的整个字符中的"1"的个数进行检验,有错则提示。 例 若有一个 ASCII 字符串,它们的起始地址放在单元 STRING 内,要求从串中取出每一个字符,检查其中包含的"1"的个数,若已为偶数,则它的最高有效位置"0";否则,最高有效位置"1"后,送回。 参考程序: data segment string db '1234567890' cou nt equ $-string data ends stack segment para stack'stack' db 100 dup(?) stack ends code segment assume cs:code,ds:data,es:data,ss:stack start proc far begin: push ds mov ax,0 push ax mov ax,data mov ds,ax mov es,ax lea si,string mov cx,count again: lodsb and al,al jpe next or al,80h mov [si-1],al next: dec cx jnz again ret start endp code ends end begin 2、用 ASM(或者 MASM)命令产生目标文件[OBJ 文件] 源程序建立以后,就可以用汇编程序 ASM.EXE(或者 MASM.EXE )进行汇编,所...