微型计算机原理与接口技术实验.doc
76页微型计算机原理与接口技术实验讲义 目录第一章 实验环境及实验步骤简介 3一 DOS环境下的汇编语言编程环境简介 3二 Debug的使用简介 8第二章 实验内容 17实验一 算术运算编程实验 17实验二 逻辑运算与移位操作编程实验 19实验三 数据串传送和查表程序 20实验四 分支程序设计 21实验五 循环程序设计 24实验六 子程序设计 28实验七 数制编码转换编程实验 34实验八 字符及字符串的输入/输出编程实验(设计性实验) 38第三章 综合性实验 44实验九 发声系统程序编程设计 44实验十 中断实验 50附录一 8086指令系统一览表 56附录二 8086指令对标志位的影响 63附录三 8086宏汇编常用伪指令表 64附录四 ASCII码表 66附录五 DOS系统功能调用(INT 21H) 67附录六 BIOS系统功能调用 72附录七 Debug命令表 74第一章 实验环境及实验步骤简介一、 DOS环境下的汇编语言编程环境简介1. 汇编语言源程序的汇编过程汇编语言源程序的汇编过程是利用汇编程序(MASM)对已编辑好的源程序文件(.ASM)进行汇编,将源程序文件中以ASCII码表示的助记符指令逐条翻译成机器码指令,并完成源程序中的伪指令所指出的各种操作,最后可以建立3个文件:扩展名为 .OBJ的目标文件、扩展名为 .LST 的列表文件和扩展名为 .CRF 的交叉索引文件。
目标文件是必须建立的,它包含了程序中所有的机器码指令和伪指令指出的各种有关信息,但该文件中的操作数地址还不是内存的绝对地址,只是一个可浮动的相对地址列表文件(.LST)中包含了源程序的全部信息(包括注释)和汇编后的目标程序,列表文件可以打印输出,可供调试检查用交叉索引文件(.CRF)是用来了解源程序中各符号的定义和引用情况的LST和.CRF两个文件不是必须建立的,可有有无,可以通过汇编时的命令加以选择在对源程序文件(ASM文件)汇编时,汇编程序将对ASM文件进行两遍扫描,若程序文件中有语法错误,则结束汇编,汇编程序将指出源程序中存在的错误,这时应返回编辑环境修改源程序中的错误,再经过汇编,直到最后得到无错误的目标程序,即OBJ文件因此,汇编程序的主要功能可以概括为以下三点: (1) 展开宏指令;(2) 检查源程序中的语法错误,并给出错误信息;(3) 产生目标程序文件(OBJ文件),并可给出列表文件(.LST文件)汇编程序是系统提供的用于汇编的系统软件,目前常用的汇编程序有Microsoft公司推出的宏汇编程MASM(MACRO ASSEMBLER)和BORLAND公司推出的TASM(TURBO ASSEMBLER)两种。
Microsoft公司推出有宏汇编程序MASM和小汇编程序ASM两种,二者的区别在于:MASM有宏处理功能,而ASM没有宏处理功能,因此,MASM比ASM的功能强大,但MASM需要占据较大的内存空间,当内存空间较小时(如64 KB),只能使用ASM 2. 目标程序的连接过程汇编后产生的目标程序(OBJ文件)并不是可执行程序文件(EXE文件),还不能直接运行,它必须通过连接程序(LINK)连接成一个可执行程序后才能运行连接程序进行连接时,其输入有两个部分:一个是目标文件(.OBJ),目标文件可以是一个也可以是多个,可以是汇编语言经汇编后产生的目标文件,也可以是高级语言(例如C语言)经编译后产生的目标文件;另一个是库文件(.LIB),库文件是系统中已经建立的,主要是为高级语言提供的连接后输出两个文件,一是扩展名为 .EXE的可执行文件,另一个是扩展名为 .MAP 的内存分配文件MAP文件是连接程序的列表文件,又称为连接映像(Link Map),它给出每个段在存储器中的分配情况,该文件可有可无EXE文件可以在操作系统下执行,还可以用DEBUG进行调试 3.汇编语言程序设计上机过程举例编写程序,判断一个年份是否是闰年。
汇编语言程序设计上机过程如图1.1所示图1.1 汇编语言程序上机过程(一)用编辑程序EDIT建立汇编语言源程序文件(ASM文件)例如,编写程序,判断一个年份是否是闰年的汇编语言源程序,可以在DOS模式下用编辑程序EDIT.EXE建立汇编语言源程序文件ABC.ASM,注意文件名的扩展名必须是.ASM也可以在Windows 2000或者在Windows XP环境下鼠标单击“开始”→“运行”,在“运行”中输入“CMD”进入DOS模式,运行EDIT软件,例如: C> EDIT ABC.ASM进入EDIT的程序编辑画面时,输入汇编语言源程序如下: DATA SEGMENT INFON DB 0DH,0AH,'Please input a year: $' Y DB 0DH,0AH,'This is a leap year! $' N DB 0DH,0AH,'This is not a leap year! $' W DW 0 BUF DB 8 DB ? DB 8 DUP(?) DATA ENDS STACK SEGMENT 'stack' DB 200 DUP(0) STACK ENDS CODE SEGMENT ASSUME DS:DATA,SS:STACK,CS:CODE START: MOV AX,DATA MOV DS,AX LEA DX,INFON MOV AH,9 INT 21H LEA DX,BUF MOV AH,10 INT 21H MOV CL,[BUF+1] XOR CH,CH LEA DI,BUF+2 CALL DATACATE CALL IFYEARS JC A1 LEA DX,N MOV AH,9 INT 21H JMP EXIT A1: LEA DX,Y MOV AH,9 INT 21H EXIT: MOV AH,4CH INT 21H DATACATE PROC NEAR LEA SI,BUF+2 MOV BX,0 X3: MOV AL,[SI] SUB AL,30H MOV AH,0 XCHG AX,BX MOV DX,10D MUL DX XCHG AX,BX ADD BX,AX INC SI LOOP X3 MOV W,BX RET DATACATE ENDP IFYEARS PROC NEAR PUSH BX PUSH CX PUSH DX MOV AX,W MOV CX,AX MOV DX,0 MOV BX,4 DIV BX CMP DX,0 JNZ LAB1 MOV AX,CX MOV BX,100 DIV BX CMP DX,0 JNZ LAB2 MOV AX,CX MOV BX,400 DIV BX CMP DX,0 JZ LAB2 LAB1: CLC JMP LAB3 LAB2: STC LAB3: POP DX POP CX POP BX RET IFYEARS ENDP CODE ENDS END START(二)用汇编程序MASM将ASM文件汇编成目标程序文件(OBJ文件)当源程序建立以后,仍以ABC.ASM程序为例,我们用汇编程序MASM对ABC.ASM源程序文件进行汇编,以便产生机器码的目标程序文件ABC.OBJ,其操作步骤如下: C>MASM ABC Microsoft (R) Macro Assembler Version 5.00 Copyright (C) Microsoft Corp 1981–1985,1987. All rights reserved. Object filename [ABC.OBJ]: Source listing [NUL。

卡西欧5800p使用说明书资料.ppt
锂金属电池界面稳定化-全面剖析.docx
SG3525斩控式单相交流调压电路设计要点.doc
话剧《枕头人》剧本.docx
重视家风建设全面从严治党治家应成为领导干部必修课PPT模板.pptx
黄渤海区拖网渔具综合调查分析.docx
2024年一级造价工程师考试《建设工程技术与计量(交通运输工程)-公路篇》真题及答案.docx
【课件】Unit+3+Reading+and+Thinking公开课课件人教版(2019)必修第一册.pptx
嵌入式软件开发流程566841551.doc
生命密码PPT课件.ppt
爱与责任-师德之魂.ppt
制冷空调装置自动控制技术讲义.ppt


