资源预览内容
第1页 / 共52页
第2页 / 共52页
第3页 / 共52页
第4页 / 共52页
第5页 / 共52页
第6页 / 共52页
第7页 / 共52页
第8页 / 共52页
第9页 / 共52页
第10页 / 共52页
亲,该文档总共52页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
微机原理上机实验,主要内容,实验安排与要求,实验基本知识,汇编语言结构,实验安排与要求,微机原理实验,汇编语言实验,接口实验,实验要求,实验前准备,预习报告,认真实验,原始记录纸,实验报告,用纸、书写、报告,实验内容考核,实验基本知识,汇编程序的上机过程,汇编程序的调试,汇编程序的上机过程,汇编程序 上机过程,汇编程序的主要功能是将由汇编语言(助记符)编写的源程序翻译成用机器语言(二进制代码)编写的目标程序。,1、汇编程序,检查和编制源程序 把初始已经分配地址的目标程序重新分配为其它的地址 检查源程序的错误 产生源程序语句列表和每个源程序汇编后的目标程序,ASM:小汇编程序,可在64KB的内存中执行,不支持宏指令,只能有限制的使用伪指令,汇编程序,MASM:宏汇编程序,必须在96KB以上的内存条件下运行,可以使用所有的宏指令和伪指令,汇编程序的功能:,宏汇编程序在DOS下运行,注:,汇编过程中,不运行用户编写的程序,只是翻译成机器语言,汇编源程序(.ASM),MASM中的主要文件类型,目标代码文件(.OBJ),列表文件(.LST),交叉索引文件(.CRF),汇编语言的程序一般要经过以下步骤,汇编语言上机步骤,编辑,汇编(MASM或ASM),连接(LINK),调试(DE-BUG),源程序需要用文本编辑器进行编写,在DOS下,可以使用PE、EDIT或WORDSTAR进行编写;Windows下,可以使用记事本或其他文本编辑器编写。,以命令方式启动汇编程序时,须在DOS下打入下列格式命令: MASM(或ASM)源文件,目标文件,列表文件,交叉参考文件开关,1)编辑源程序,源程序保存的扩展名为:.ASM,2)汇编(MASM或ASM)源程序,(1) 提问方式,(2) 命令方式,连接程序LINK用来连接汇编程序生成的目标代码文件(.OBJ)以及指定的库文件,产生一个可执行的装入文件(.EXE)。,3)程序连接,以命令方式启动连接程序时,必须在DOS下输入如下格式命令: LINK目标代码模块表,装入模块名,列表文件名,库文件名表开关,连接程序有3种启动方式:,(1) 提问方式,(2) 命令方式,以文件方式启动LINK的命令格式为:LINK文件名,(3) 文件方式,内存映象文件(.MAP)可以在LINK 的时侯产生,它实际上是连接程序的列表文件,给出了每个段的地址分配情况和和长度。,MAP文件,调试程序DEBUG是专为宏汇编语言设计的一种调试手段,是我们必须掌握的一种调试工具。,4)执行程序,A:ABCD(扩展名EXE可默认),5)调试程序,在操作系统提示符下,按如下格式键入命令:A:DEBUG驱动器名:路径文件名扩展名,调试工具Debug,可以观察和修改内存及寄存器的内容;,在DEBUG程序中,为我们提供了18条子命令。,几个主要的DEBUG命令,可以对程序进行汇编和反汇编;,可以执行或跟踪程序,并观察每一步执行的结果;,可以读/写盘上的扇区或文件,格式:A 段寄存器名:偏移地址A 段地址:偏移地址A 偏移地址A,汇编命令A,功能用该命令可以将汇编便语言程序直接汇编进入内存,格式: D 地址D 地址范围D,显示内存明令D,显示指定内存范围的内容,显示的内容为两种形式,一种为16进制内容,一种为与16进制相对应的ASCII码字符,对不可见的字符以”.”代替,功能:,对于第1、3种格式,每次显示128个字节内容,第二种格式显示的字节数由地址范围来决定,一般以前如果没有使用过D命令,则从CS:100处开始显示,格式:1) E 地址内容表2) E 地址,修改存储单元内容命令E,1)用命令所给定的内容表区替代指定地址范围的内存单元内容,功能:,2)一个单元一个单元的连续修改单元内容 其中,内容表为一个16进制数或一串16进制数,也可以是用单引号括起的一串字符。,格式: C 源地址范围,目标地址范围,比较命令C,从源地址范围起始的地址单元开始逐个与目标起始地址往后的单元顺序比较每个单元的内容,比较到源终止地址为止。比较结果如果一致则不显示任何信息,否则,以源地址源内容目的内容目的地址的形式显示失配单元的地址和内容,格式: 1) R 2) R 寄存器名,检查和修改寄存器内容命令R,1)显示CPU内部所有寄存器的内容和所有标志为的 状态。,功能:,2)显示和修改指定寄存器的内容和标志位的状态,格式:1) T =地址或T地址2) T 地址条数或T 地址条数,追踪与显示命令T,1)执行一条指定地址处的指令,停下来,显示CPU所有寄存器内容和全部标志位的状态,以及下一条指令的地址和内容,功能:,2)为多条跟踪命令,从指定地址开始;若命令中用地址给定了起始地址,则从起始地址开始,若未给定,则从当前指令地址(CS:IP)开始,执行命令中的条数决定一共跟踪几条指令后返回DEBUG状态,运行命令G 格式: G 地址地址地址 功能执行用户正在调试的程序,其中,地址为执行的起始地址,以CS的内容作为段地址,以等号后面的地址为偏移地址。后面的地址为断点地址。,命名命令N 格式:N 文件名 在调用DEBUG时,如果没有文件名,需要用N命令将编译的的文件名格式化到CS:5CH的文件控制块中,写盘命令W 格式: W 地址或W,实验1 调试工具debug的使用及基本指令的用法,实验目的: 1、学习DEBUG常用命令的使用 2、了解程序运行的过程 3、熟悉所学指令的功能,给定指令,记录指令执行后的状态 4、了解上述各类指令对标志寄存器的影响,实验内容: 分别用DEBUG程序的命令实现对PC机RAM单元、CPU寄存器等的内容修改,程序的输入,反汇编,及简单程序的跟踪运行; 输入所学的常用指令,并观察指令的执行情况。,一、debug的使用,debug的进入和退出:,2、观察及修改CPU内部的各寄存器,3、观察和修改内存单元的内容,-r 观察各寄存器的内容,-d 2000 查看从地址DS:2000H开始的128个单元的内容,5、输入程序,6、单步执行程序,7、反汇编程序,8、执行一段程序,-a 100 ;从CS:100H处开始输入程序;(这是默认的程序开始的地址),-t=100,;执行CS:100H处的一条指令, ;自动显示各寄存器内容及下一条指令,-u 100,;从CS:100H处开始反汇编,-g=100 106,; 从CS:100H开始,执行到CS:106处停止,二、基本指令的用法,在debug中输入各条基本指令并执行,观察指令的执行情况。,实验目的: 掌握masm、link的基本用法 编制基本的宏汇编程序,实验2 简单程序的编制及汇编过程,实验内容: 利用EDIT等编辑器输入一段完整的宏汇编程序,利用masm、link进行汇编、连接,生成*.exe文件。 用DEBUG装入该程序,观察宏汇编程序与DEBUG中反汇编的程序有何不同。单步运行该程序直至结束。 编写简单宏汇编程序,并汇编、连接、调试。程序要求如下:,;定义堆栈段 STA SEGMENT STACK ;定义堆栈段为200个字节S1 DW 100 DUP(?) STA ENDS ;定义数据段 DATA SEGMENT ;定义数据段i DB 12Hj DB 34Hs DB ? DATA ENDS,注:宏汇编程序基本结构,;定义代码段 CODE SEGMENT ;定义代码段ASSUME CS:CODE,SS:STA,DS:DATAORG 100H ;从CS:100H处开始输入程序START PROC FARPUSH DS XOR AX,AXPUSH AX ;这三条指令为返回DOS做准备MOV AX,DATA ;给DS和SS赋初值MOV DS,AXMOV AX,STAMOV SS,AX ;从这儿开始输入你的程序RET CODE ENDSEND START,实验3 宏汇编程序的基本语法及程序编制,实验内容: 编制包含多种数据定义宏指令的完整程序,经汇编、连接后,装入DEBUG, 观察数据的存储情况,从而掌握宏定义的作用。举例: i DB 12H,AB w DW 12H,AB NUM=$-I a DD 12H ;以上数据在内存中如何存放?,实验目的: 1、熟悉各条宏指令的作用 2、掌握运算类程序设计的基本方法,. PUSH DS XOR AX,AX PUSH AX MOV AX,DATA MOV DS,AX MOV AL,I ;翻译成机器指令是什么格式? MOV AX,w ;? MOV BL,NUM ;? . . . 在debug中执行完MOV DS,AX指令后(为什么?),使用 -d 0 观察数据段的存储单元的数据存储情况。,2、编制一段完整程序,实现多字节加法运算(在DEBUG内观察结果)。,实验4 系统功能调用,实验目的: 初步学会DOS及BIOS功能调用技术 学习控制台IO程序的设计,实验内容: 系统功能调用步骤: 设置入口参数 设置功能号 INT 中断类型码 使用出口参数如实现从键盘输入单字符:MOV AH,1INT 21H;结果在AL中,2、编制一段完整程序,实现从键盘录入一个班的学生成绩,输出显示最高成绩及平均成绩。,实验五 综合程序设计,实验目的 掌握汇编程序的编程方法,并要求能够灵活使用。 熟悉主要的程序实现方法,通过对输入、输出、字符转换、数据统计等内容的综合编程,进一步熟悉对程序结构、汇编语言、功能调用等方面的知识。,实验内容 编写学生成绩录入及统计程序。要求通过键盘或文件输入成绩,统计各分数段的人数并显示。,实验六 可编程并行接口芯片8255A的使用,1、实验目的 掌握8255并行IO接口芯片的编程方法 掌握通过并行IO端口进行数字量输入输出的基本方法,2、实验设备1) PC机一台 2) BH-86/51实验设备一套,3、实验内容编写程序,通过8255A读取BH-86/51实验装置上的开关状态,并据此通过8255A的另一个端口控制LED的显示。,4、实验步骤1)电路设计BH-86/51实验装置的H积木块为逻辑电平开关电路。其中共有12个独立的开关K1K12。相应的12个插孔为逻辑电平输出端。开关向上拨时,相应插孔输出高电平“1”,向下拨时,相应插孔输出低电平“0”。本实验只使用K1-K8。所以可以画出本实验的接线原理图。,所用集成电路芯片: 8255A,位于积木块K中。 逻辑电平开关电路,位于积木块H中。 试验装置地址译码电路,位于积木块F。 实验过程中,任意拨动K1-K8开关,将K1-K8设置成0或1的信息,通过8255A的A端口读入到计算机,再将读入的开关状态信息,通过端口B输出到LED上,从而驱动LED的亮和灭。,2)试验装置接线方法如图3-31,1-12 将M块中的PA0PA7连接到K1-K8 将M快中PB0-PB7连接到LED1-LED8 将K块的CS端与F块的308H-30FH端连接 用短路块将F块中的JF端1、2脚连接 用短路块将J1、J2、J3上行的2,3脚连接,J0右侧的1、2脚连接,3)编写程序 编写源程序,汇编、连接、调试 4)执行程序 打开实验装置的外接电源 执行程序 任意拨动开关K1-K8,相应LED会随之亮灭。5、编程提示 6、思考题如果读取12个开关信息,并驱动相应的12个LED,8255A控制字应如何设置,程序应怎样改动。7、实验报告要求: 1)画出接口电路原理图 2)分析电路的执行过程 3)列出程序清单和执行结果 4)回答思考题,实验七 可编程计数/定时器8253的使用,1、实验目的掌握8253定时计数器的编程方法 学习8253的几种工作方式。,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号