微机原理与应用实验手册lzw

上传人:m**** 文档编号:473398554 上传时间:2023-04-24 格式:DOC 页数:52 大小:2.11MB
返回 下载 相关 举报
微机原理与应用实验手册lzw_第1页
第1页 / 共52页
微机原理与应用实验手册lzw_第2页
第2页 / 共52页
微机原理与应用实验手册lzw_第3页
第3页 / 共52页
微机原理与应用实验手册lzw_第4页
第4页 / 共52页
微机原理与应用实验手册lzw_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《微机原理与应用实验手册lzw》由会员分享,可在线阅读,更多相关《微机原理与应用实验手册lzw(52页珍藏版)》请在金锄头文库上搜索。

1、微机原理与应用实验李章维 李敏 沈永增浙江工业大学信息工程学院2012年4月目 录实验一 熟悉汇编程序及调试21.1 汇编与宏汇编程序21.2 汇编过程31.2.1 程序汇编的基本步骤31.2.2 列表文件(.LST)41.2.3 交叉索引文件(.CRF)61.3 执行连接程序71.3.1 连接程序执行过程71.3.2 内存映象文件(.MAP)81.3.3 执行程序81.4 编写汇编语言源程序91.4.1 源程序的书写格式91.4.2 段寄存器段地址的装入101.4.3 程序中的数据与变量111.4.4 返回DOS状态的方法121.5 调试软件DEBUG131.6 汇编指令调试15实验二 加法

2、及判断程序调试实验18实验三 DOS中断调用实验22实验四 微机接口实验244.1 实验设备简介244.2 8253可编程定时器计数器实验264.3 8259中断控制实验304.4 8255 并行接口实验32附录I ASCII 码字符表35附录II 实验4.2参考程序36附录III 实验4.3参考程序44附录IV 实验4.4参考程序51实验一 熟悉汇编程序及调试1.1 汇编与宏汇编程序汇编就是把用汇编语言编写的源程序翻译(汇编)成机器语言的目标程序。汇编一个用汇编语言编写的源程序可以使用小汇编程序ASM.EXE,也可以使用宏汇编程序MASM.EXE。由于MASM.EXE不但可以代替ASM,而且

3、可以汇编具有宏定义的汇编语言源程序,因此我们在汇编程序时使用宏汇编程序MASM.EXE。运行汇编程序应具备下列文件:文本编辑程序:EDIT.COM 或 NOTEPAD.EXE宏汇编程序: MASM.EXE连接程序: LINK.EXE用户通过文本编辑程序键入汇编语言源程序,检查无误后,要将源程序以ASCII文本(纯文本)存盘,文件的扩展名为 .ASM 。下面就是用文本编辑程序EDIT.COM或NOTEPAD.EXE编辑的汇编语言源程序,该程序为在屏幕上显示一串英文字符Hello!。data segmentstr db Hello!,$data endsStacksegment stackdb 6

4、4 dup (?)Stack endscode segmentassume cs: code, ds: datastart: mov ax, datamov ds, axmov ah, 9hmov dx, offset strint 21hmov ah,4chint 21hcode endsend start然后将上面键入的汇编语言源程序保存为扩展名为 .ASM的文件,例如 XYZ.ASM 文件。1.2 汇编过程1.2.1 程序汇编的基本步骤1、将masm.exe、link.exe程序拷贝到E盘的根目录下2、进入dos系统:单击桌面上的“开始”运行command(cmd),dos系统下的屏幕提

5、示符为:盘号:目录名3、进入E盘: E: ,此时的屏幕提示符为“E:”,4、建立源程序:用记事本输入源程序,并保存到E盘根目录,xyz.asm5、编译程序:源程序建立以后,就可以用汇编程序MASM.EXE 进行汇编。例如欲对保存在E 盘根目录下的源程序文件XYZ.ASM 进行汇编,在屏幕提示符E:下,可打入如下命令(带下划线的部分为键盘输入): masm xyz.asm 将汇编语言源程序用宏汇编程序翻译(汇编)后,可以形成三个文件:第一个文件是扩展名为.OBJ的目标文件,在该文件中,将源程序的操作码部分变为机器码,但地址操作数是可浮动的相对地址,而不是实际地址,因此需经LINK连接文件进行连接

6、才能形成可执行文件。第二个文件是列表文件,扩展名为.LST,它把源程序和目标程序列表,以供检查程序用。第三个文件是交叉索引文件,扩展名为.CRF,它是一个对源程序所用的各种符号进行前后对照的文件。目标文件(OBJ文件)是必须产生的,而其它两个文件在需要时给予命令就可产生,对连接和执行汇编程序无直接的关系。下面举例说明汇编过程。在DOS状态下,键入MASM,则调入宏汇编程序,屏幕显示与操作如下:E: masmMicrosoft (R) Macro AssembLe Version 5. 00Copyright (C) Microsoft Corp 19811985, 1987.Allrights

7、 reserved.Source filename . ASM : xyzObject filename xyz . OBJ: xyzSource listing NUL. LST: xyzCross-reference NUL. CRF: xyz48826 + 433414 Bytes symbol space free0 Warning Errors0 Severe Errors其中划线部分是用户键入的,xyz为源程序名(xyz.asm),方括号中是机器规定的默认文件名,如果用户认为方括号内的文件名就是要键入的文件名,则可只在划线部分键入回车。如果不想要列表文件和交叉索引文件,则可在NUL

8、.LST和NUL.CRF后不键入文件名只键入回车符。当回答完上述四个询问后,汇编程序就对源程序进行汇编。在汇编过程中,如果发现源序程中有语法错误,则提示出错信息,指出是什么性质的错误,错误类型,最后列出错误的总数。之后可重新进入文本编辑环境(EDIT.COM或NOTEPAD.EXE),调入源程序xyz.asm进行修改,修改完毕,再进行汇编,直到汇编通过为止。如果在汇编时不需要产生列表文件(.LST)和交叉索引文件(.CRF),调用汇编程序时可用分号结束。例如: ;E: masm xyz; Microsoft (R) Macro Assembler Version 5. 00Copyright

9、(C) Microsoft Corp 1981-1985, 1987. All rights reserved.49902+448722 Bytes symbol space free0 Warning Errors0 Severe Errors汇编后只产生一个.OBJ文件。如果需要产生.OBJ文件和.LST文件,不需要.CRF文件,则在分号前加两个逗号即可。例如:E: masm xyz,; 如果4个文件都需要,简便的操作方法是分号前用3个逗号:E: masm xyz,; Microsoft (R) Macro Assembler Version 5. 00Copyright (C) Micr

10、osoft Corp 1981-1985, 1987. All rights reserved.48830+433410 Bytes symbol space free0 Warning Errors0 Severe Errors1.2.2 列表文件(.LST)列表文件.LST是通过汇编程序(masm.exe)产生的,可用文本编辑程序(EDIT.COM或NOTEPAD.EXE)显示或打印该文件,以便分析调试源程序。例如xyz.lst文件的内容显示如下:Microsoft (R) Macro Assembler Version 5.00 3/3/3Page 1-11 0000 data segm

11、ent2 0000 48 65 6C 6C 6F 21 24 str db Hello!,$3 0007 data ends45 0000 stack segment stack6 0000 0040 db 64 dup(?)7 ?8 910 0040 stack ends1112 0000 code segment13 assume cs:code, ds:data14 0000 B8 - R start: mov ax, data15 0003 8E D8 mov ds, ax16 0005 B4 09 mov ah, 9h17 0007 BA 0000 R mov dx, offset

12、str18 000A CD 21 int 21h19 000C B4 4C mov ah, 4ch20 000E CD 21 int 21h21 0010code ends22 end startMicrosoft (R) Macro Assembler Version 5.00 3/3/3Symbols-1Segments and Groups:N a m e Length Align Combine ClassCODE . . . . . . . . . . . . . . 0010 PARA NONEDATA . . . . . . . . . . . . . . 0007 PARA N

13、ONESTACK . . . . . . . . . . . . .0040 PARA STACKSymbols:N a m e Type Value AttrSTART . . . . . . . . . . . . . L NEAR 0000 CODESTR . . . . . . . . . . . . . . L BYTE 0000 DATAFILENAME . . . . . . . . . . . TEXT xyz19 Source Lines19 Total Lines7 Symbols48830 + 433410 Bytes symbol space free0 Warning

14、 Errors0 Severe Errors列表程序由三部分组成:(1) 源程序和目标程序清单从列表程序中可以看到:它同时列出源程序和对应的机器语言清单,第一列给出每条指令所在行号,第二列给出从段的首地址开始的每条指令存放的偏移地址,接着是数字列,给出对应每条语句的机器码和对应于存放在栈段和数据段的值,在机器码后加上R的指令表示:这条指令在连接时可能产生与列出来的偏移地址不同的地址,因为这些偏移地址可能与其它模块有关,例如列表清单中代码段中有两条指令与数据段有关: mov ax,data 和 mov dx,offset str,因此在这两条指令的机器码后面加上R的标识。最右边就是用汇编语言编写的源程序。(2) 段信息汇总表在段信息汇总表中列出该程序用了哪几个段,如:代码段CODE、数据段DATA和堆栈STACK;每个段所占存储空间的长度(字节数);每个段的定位类型,包括PAGE(页)、PARA(节)、WORD(字)和BYTE(字节)它们表示此段的起始边界要求,即起始边界地址应分别可以被256、16、

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号