微机原理与接口技术实验教材

上传人:bao****ty 文档编号:117036338 上传时间:2019-11-18 格式:DOC 页数:190 大小:1.59MB
返回 下载 相关 举报
微机原理与接口技术实验教材_第1页
第1页 / 共190页
微机原理与接口技术实验教材_第2页
第2页 / 共190页
微机原理与接口技术实验教材_第3页
第3页 / 共190页
微机原理与接口技术实验教材_第4页
第4页 / 共190页
微机原理与接口技术实验教材_第5页
第5页 / 共190页
点击查看更多>>
资源描述

《微机原理与接口技术实验教材》由会员分享,可在线阅读,更多相关《微机原理与接口技术实验教材(190页珍藏版)》请在金锄头文库上搜索。

1、第二章 微机原理与接口技术实验一 汇编语言编译过程汇编语言(AssemblyLanguage)是面向机器的程序设计语言。在汇编语言中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。于是汇编语言亦称为符号语言。使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统软件。汇编程序把汇编语言翻译成机器语言的过程称为汇编。一、实验目的1、熟悉汇编语言源程序的基本格式。2、理解汇编中地址的概念并体会汇编语言

2、的特点。3、理解各种数据类型和指令在存储器中的存放方式3、掌握在DOS环境下汇编程序的编写、汇编和调试方法。4、掌握在EMU8086环境下汇编程序的编写、汇编和调试方法。二、实验原理1、汇编语言的优点汇编语言直接同计算机的底层软件甚至硬件进行交互,它具有如下一些优点:1) 面向机器的低级语言,通常是为特定的计算机或系列计算机专门设计的;2) 保持了机器语言的优点,具有直接和简捷的特点;3) 可直接、有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等;4) 目标代码简短,占用内存少,执行速度快,是高效的程序设计语言;5) 经常与高级语言配合使用,应用十分广泛。2、汇编语言

3、的缺点应该认识到,汇编语言是一种层次非常低的语言,它仅仅高于直接手工编写二进制的机器指令码,因此不可避免地存在一些缺点: 1) 编写的代码非常难懂,不好维护; 2) 很容易产生bug,难于调试; 3) 只能针对特定的体系结构和处理器进行优化; 4) 开发效率很低,时间长且单调。3、DOS系统功能调用MS DOS操作系统为程序设计者提供了可以直接调用的软中断处理程序,每一个中断处理程序完成一个特定的功能操作。依据编程需要选择适当的处理程序,编程者不需再重新编写程序,而是使用INT n软中断指令。每执行一种不同类型码n的软中断指令,就执行一个中断处理程序,其主要功能如下。1) 磁盘的读/写控制。2

4、) 内存管理、文件操作和目录管理。3) 基本输入/输出(对键盘、打印机和显示器等)控制,另外还有日期、时间管理等。a、 本次实验使用9号功能调用(屏幕显示字符串)格式: MOV DX, 字符串的偏移地址 MOV AH, 09H INT 21H 功能:在屏幕上显示字符串。 在使用9号功能调用时,应当注意以下问题。1) 待显示的字符串必须先放在内存一数据区(DS段)中,且以$符号作为结束标志。2) 应当将字符串首地址的段基址和偏移地址分别存入DS和DX寄存器。三、实验仪器或实验条件IBM-PC兼容计算机,Microsoft操作系统,MASM宏汇编或EMU8086。四、实验内容与实验步骤1、DOS环

5、境1) 在DOS方式下键入edit new.asm2) 输入源程序并保存3) 键入masm new进行汇编,生成new.obj目标文件,并保存new.list列表文件4) 如果提示有错误,参考列表文件并修改程序文件new.asm,重复第三步键入link new进行连接,生成new.exe可执行文件键入new运行程序2、Windows环境1) 在Windows中进入EMU80862) 输入源程序并保存3) 单击emulate运行程序并在仿真窗口中观察运行结果五、实验程序stacksegment stack stackdw 32 dup(?)stack endsdatasegmentBUFBDB

6、9AH,0AFHBUFWDW 1234H,5678HOBUFDB 9 DUP (?)dataendscodesegmentmainprocfarassume ss:stack, cs:code, ds:datastart:pushdssubax, axmovax, datamovds, axMOVCX, 8MOVBX, 0MOVAL, BUFBAGAIN:MOVAH,0SHLAX, 1ADDAH, 30HMOVOBUFBX, AHINCBXLOOPAGAINMOVOBUFBX, $MOVDX, OFFSET OBUFMOVAH, 9INT21Hretmainendpcodeendsendsta

7、rt六、实验注意事项或实验现象分析1) 汇编程序中所有字符及符号均为半角英文字符(注释除外)。2) 记录编译过程中错误并分析原因。3) 如将语句 MOV OBUFBX,$去掉,输出结果是什么,试分析其原因。4) 将源程序中9AH改为-1,输出结果是什么,试分析其原因5) 如将MOV CX, 8 语句中的8改为4,输出结果又是什么。6) 将指令MOVAL, BUFB中的BUFB改为BUFB+4,输出结果是什么,试分析其原因七、思考题1) 本程序中9号功能调用输出数据如何获得。2) 若要输出BUFW数据区中第二个元素的高字节,程序中哪些地方需要修 改,如何修改?3) 绘制本程序流程图。实验二 DE

8、BUG调试(或EMU8086调试)1937年,美国青年霍德华.艾肯找到IBM公司为其投资200万美元研制计算机,第一台成品艾肯把它取名为:马克1号(mark1),又叫“自动序列受控计算机”,从这时起IBM公司由生产制表机,肉铺磅秤,咖啡研磨机等乱七八糟玩意儿的行业,正式跨进“计算机”领地。为马克1号编制程序的是哈佛的一位女数学家格蕾丝莫雷赫伯,有一天,她在调试程序时出现故障,拆开继电器后,发现有只飞蛾被夹扁在触点中间,从而“卡”住了机器的运行。于是,霍波诙谐的把程序故障统称为“臭虫(BUG)”,把排除程序故障叫DEBUG,而这奇怪的“称呼”,后来成为计算机领域的专业行话。从而debug意为程序

9、除错的意思。一、实验目的1、熟悉使用DEBUG调试可执行文件的基本方法2、掌握在DEBUG中显示寄存器内容与显示存储器内容的命令3、掌握利用DEBUG中的反汇编命令对可执行文件进行反汇编与置断点的命令4、掌握在EMU8086环境下查看寄存器、存储器内容,并设置断点的方法。二、实验原理1、DEBUG的作用DEBUG是一个专门为汇编语言设计的交互式调试工具,它提供一个控制测试的环境,以便用户能够监视和控制被调试程序的执行;可以直接确定直接确定程序中出现的问题,然后立即修改程序以便判定这些问题是否已经解决,而不必重新去编写一个程序;可以直接设置寄存器和存储器的值,也可设置断点使程序暂停执行以便察看中

10、间结果;总之,它为汇编语言程序员提供了非常有效的调试手段。2、DEBUG的常用命令DEBUG在字符界面下以单字符命令方式工作,现将本次试验所用命令介绍如下:1) -R 寄存器名 显示并允许修改指定寄存器的值2) -T 地址 单步执行机器指令,缺省地址则从上一T命令继续。另,继续跟踪m条指令:-T m3) -D 始址 终址 以16进制/Asc字符对照方式显示指定内存范围的数据,每行显示10H个字节4) -E 地址 值表 用给出的值表(空格分隔)替换指定地址开始的内存单元,例:-E 100 v 1F hello5) -U 地址 从指定地址开始反汇编32字节的机器指令,缺省地址则从上一U命令继续6)

11、 -G 始址 终址 执行指定内存中的机器指令程序7) -Q 退出DEBUG3、DEBUG的启动方法启动 Debug,Debug drive:path filename parameters 参数 drive:path filename 指定要测试的可执行文件的位置和名称。 parameters 指定要测试的可执行文件所需要的任何命令行信息。 三、实验仪器或实验条件IBM-PC兼容计算机,Microsoft操作系统,MASM宏汇编或EMU8086。四、实验内容与实验步骤1、DOS环境(测试第一次实验所生成的可执行文件)1) 在DOS方式下键入DEBUG new.exe2) 在DEBUG的提示符“

12、-”下输入R,显示各寄存器的值3) 输入D,察看指定存储单元的值4) 使用命令T,单步执行程序5) 使用命令U,对文件进行反汇编6) 使用G命令,设置相应断点2、Windows环境1) 在Windows中进入EMU80862) 输入源程序并保存3) 单步运行程序,并在仿真窗口中观察各个寄存器的变化,并能随时查看数据段中数据的变化五、实验程序stacksegment stack stackdw 32 dup(?)stack endsdatasegmentBUFBDB 9AH,0AFHBUFWDW 1234H,5678HOBUFDB 9 DUP (?)dataendscodesegmentmain

13、procfarassume ss:stack, cs:code, ds:datastart:pushdssubax, axmovax, datamovds, axMOVCX, 8MOVBX, 0MOVAL, BUFAGAIN:MOVAH,0SHLAX, 1ADDAH, 30HMOVOBUFBX, AHINCBXLOOPAGAINMOVOBUFBX, $MOVDX, OFFSET OBUFMOVAH, 9INT21Hretmainendpcodeendsendstart六、实验注意事项或实验现象分析1、 记录初始化前各寄存器的值和数据段前16个字节的值。表2.1初始化前各寄存器及数据段存储器AX

14、DSSPIP以下填写数据段前16字节值,此处填写首偏移地址:2、 记录初始化后各寄存器与数据段前16个字节的值。AXDSSPIP以下填写数据段前16字节值,此处填写首偏移地址:表2.2初始化前各寄存器及数据段存储器3、 分别在循环开始与结束时设置断点,记录循环结束时各个寄存器与数据段前16字节的值表2.3循环结束后各寄存器及数据段存储器AXDSSPIP以下填写数据段前16字节值,此处填写首偏移地址:七、思考题1、 比较表2.1与表2.2,说明为何不同2、 比较表2.2与表2.3有何不同,试说明其原因实验三 基本输入输出实验I/O端口是接口电路中能被CPU直接访问的寄存器的地址。一个接口电路拥有多个端口,如命令口,状态口,数据口,各端口具

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

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