微机原理及应用试验报告

上传人:汽*** 文档编号:485496439 上传时间:2022-10-11 格式:DOC 页数:17 大小:467KB
返回 下载 相关 举报
微机原理及应用试验报告_第1页
第1页 / 共17页
微机原理及应用试验报告_第2页
第2页 / 共17页
微机原理及应用试验报告_第3页
第3页 / 共17页
微机原理及应用试验报告_第4页
第4页 / 共17页
微机原理及应用试验报告_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《微机原理及应用试验报告》由会员分享,可在线阅读,更多相关《微机原理及应用试验报告(17页珍藏版)》请在金锄头文库上搜索。

1、实验报告课程名称微机原理及应用实验名称实验1 DEBUG操作实验实验2汇编程序设计实验实验3 8253定时/计数器实验实验48255并行接口实验实验日期年 月日 至年月日学生专业学生学号学生姓名教师姓名成绩南京理工大学机械工程学院实验一 DEBUG 命令及其操作一、实验目的1 熟练掌握 debug 的常用命令,学会用 debug 来调试程序。2 深入了解数据在存储器中的存取方法及堆栈中数据的压入与弹出。3 掌握各种寻址方法以及简单指令的执行过程。二、实验要求1 实验前要作好充分准备,包括汇编程序清单、调试步骤、调试方法以及对程序结果的分 析等。2 本实验要求在 PC 机上进行。3 本实验只要求

2、在 DEBUG 调试状态下进行,包括汇编程序,调试程序,执行程序。三、实验内容实验内容 1:学习用 DEBUG 调试工具进行源程序的输入、汇编、调试和执行。 实验报告要求:1 写出运行结果;2 小结 debug 常用命令及使用体会答: 1.原文已给出(略)2 a 汇编d 显示内存单元内容e 修改单元内存内容g 执行命令t 单步(或多步)调试n 指定文件路径文件名(含扩展名)u 反汇编r 查看寄存器值及修改l 加载程序w 写盘命令 体会:提升学习热情和动手能力 有助于理解代码执行过程实验内容 2设 AX=3000H , BX=5000H ,请编一程序段将 AX 的内容和 BX 的内容进行交换。请

3、用 堆栈作为两寄存器交换内容的中间存储单元,用 DEBUG 调试程序进行汇编与调试。 实验报告要求:1 写出完成上述功能的程序段;2. 单步执行,并记录寄存器AX, BX及堆栈指针SP的值答:A100Mov ax,3000 ; ax:3000 bx:0000 sp:ffeeMov bx,5000 ; ax:3000 bx:5000 sp:ffee Push ax ; ax:3000 bx:5000 sp:ffecMov ax,bx Pop bx Int 20 实验内容 3 设 DS= 当前段地址, 300H304H 连续单元装入; ax:5000 bx:5000 sp:ffec; ax:500

4、0 bx:3000 sp:ffeeBX=0300H ,SI=0002H ,请用 DEBUG 的命令将存储器偏移地址 OAH , OBH , OCH , ODH , OEH。在DEBUG状态下送入下面的程 序,并用单步执行的方法,分析每条指令源地址的形成过程?当数据传送完毕时, 内容是什么? 实验报告要求:1 写出源操作数的寻址方式;AX 中的A100Mov di,0300Mov dx,0aMov cx,5 1oop1:movdi,dxInc diInc dx 1oop loop12 单步执行,并记录相关寄存器及存储单元的值 ;给各内存单元赋值程序清单如下寻址方式和 AX 的内容MOVBX,O3

5、OO立即寻址MOVSI,OOO2立即寻址MOVAX ,BX寄存器寻址AX: O3OOMOVAX ,O3O4H立即寻址AX:O3O4MOVAX ,O3O4H 存储器直接寻址AX:ds:O3O4内存单元的内容OEHMOVAX ,BX寄存器间接寻址AX:ds:O3OO内存单元的内容OAHMOVAX ,OOO1BX 基址相对寻址AX:ds:O3O1内存单元的内容OBHMOVAX ,BXSI 基址变址寻址AX:ds:O3O2内存单元的内容OCHMOVAX ,OOO1BXSI 基址变址寻址AX:ds:O3O3内存单元的内容ODH实验内容 4设 AX=OOO2H,编写程序将 AX 的内容乘10 ,要求用移位

6、的方法完成。写出实现上实验报告要求:1 述功能的程序段;2 单步执行程序,记录每条指令的机器码及相关寄存器的内容:左移指令用SHL,而不能使用SALA1OOMov ax,2机器码:b8O2OOax:OOO2dx:OOOOcl:OOMov dx,O机器码:baOOOOax:OOO2dx:OOOOcl:OOShl ax,1机器码:d1eOax:OOO4dx:OOOOcl:OOMov dx,ax机器码:O1dOax:OOO4dx:OOO4cl:OOMov cl,2机器码:b1O2 ax:OOO4 dx:OOO4 cl:O2Shl ax,cl机器码:d3eOax:OO1Odx:OOO4cl:O2Add

7、 ax,dx机器码:O1dOax:OO14dx:OOO4cl:O2Int 20机器码: cd20 ax:0014 dx:0004 cl:02实验二 简单程序的编写及汇编连接一、实验目的1 熟练掌握编写汇编语言源程序的基本方法和基本框架。2 学会编写顺序结构、分支结构和循环结构的汇编程序,掌握宏定义与宏调用的方法。3 掌握程序中数据的产生与数输出的方法。4 熟悉建立源文件,进行汇编和连接的全过程,并对程序进行调试。二、实验要求1 实验前准备 分析题目,将程序中的原始数据、中间结果和最终结果的存取方式确定好。 写出算法或画出流程图。 写出源程序。 对程序中的结果进行分析,并准备好上机调试的过程。2

8、 本实验要求在 PC 机上进行。3 汇编过程中出现问题,可用 DEBUG 进行调试。三、实验内容1实验内容 1 编辑源程序 ( 参考程序见下 ),建立 . ASM 文件; 用 MASM 程序汇编,生成 .OBJ 文件; 查看 .LST 文件的内容 用 LINK 程序链接,生成 .EXE 文件; 使用 DEBUG 命令将 .EXE 文件调进内存,执行后查看程序运行结果; 使用 DEBUG 命令,检查各段在内存当中分配情况。 参考程序:; exercize21 data segment org 0200hbufferdw0, 1,-5,10,256, -128,-100,45, 6,3,dw-15

9、,-67,39,4,20, -1668,-32766,32765,-525,dw300countequ($-buffer)/2maxdw?data endsstack segment db 100 dup stack endsstack stack(s)code segment para codeassume cs:code, ds:data, ss:stack sta proc farpush dsxor ax, axpushaxmovax,datamovds,axleasi,buffermovcx,countdeccxmovax,sichkmax: addsi,2cmpsi,axjlen

10、extmovax, sin ext:loopchkmaxmovmax, axretstaendpcodeendsend sta实验报告要求:1.2.3.小结汇编语言源程序的编译及连接过程; 记录数据段在程序执行前后的内容 写出程序调试中出现的问题及解决方法;1. 把待汇编的程序放在存放汇编、链接程序的文件夹里打开汇编程序输入待汇编的程序名 字,以默认配置生成obj文件,再打开链接程序输入待链接的程序名字以默认配置生成 exe文件2. 执行前后buff数据数据块不变max执行前数据为0000H执行后为7ffdH3. 很顺利作业:编程并且在计算机上调试。 用汇编语言编写一个加法程序:1234+56

11、78请用ASCII码的形式将加数与被加数存放在数据区DATA1和DATA2中,并将相加的结果显示输出。 假设有一组数据:5, -4, 0, 3, 100, -51 ,,请编一程序,判断每个数是否大于0,等于0,还是小于0,并输出判断结果。即:1当x0y =y 当x=0一1当x0 sstack segme nt dw 32 dupsstack endsdata segme ntdata1 db 1234data2 db 5678data3 db 4 dup(?)data endscode segme ntassume cs:code,ss:sstack,ds:datasta:push dsxor

12、 ax,axmov al,si+3 mov ah,di+3 and al,0fh and ah,0fh add al,ah or al,30h mov bx+3,al mov al,si+2 mov ah,di+2 and al,0fh and ah,0fh adc al,ah or al,30hmov bx+2,almov al,si+1mov ah,di+1and al,0fhand ah,0fhadc al,ahor al,30hmov bx+1,almov al,simov ah,diand al,0fhand ah,0fhadc al,ahor al,30hmov bx,almov

13、cx,4mov ah,2ha1:mov dl,bxint 21hinc bxloop alretcode endsend sta sstack segme nt stack stackdw 32 dupsstack endsdata segme ntbuff db 12,-23,5, -4 , 0, 3, 100, -51,3,-45,9,2data endscount equ $-buffcode segme ntassume ss:sstack,ds:data,cs:codestart prog farpush dsxor ax,axpush axmov ax,datamov ds,axlea bx,bufflea si,co untmov cx,siloop1:mov al,

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

最新文档


当前位置:首页 > 办公文档 > 演讲稿/致辞

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