欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载
     

    [工学]微机实验书.doc

    • 资源ID:1977372       资源大小:2.73MB        全文页数:79页
    • 资源格式: DOC        下载积分:8
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要8
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    [工学]微机实验书.doc

    1 微机原理与接口技术微机原理与接口技术 实验指导书实验指导书 深圳大学电子科学与技术学院深圳大学电子科学与技术学院 2008 年年 12 月月 1 微机原理与接口技术微机原理与接口技术实验 微机原理与接口技术实验课是计算机科学与技术专业本科生(或相关信 息类专业)教学的必修课程,是重要的专业技术基础课。在理论教学基础上通过 实验教学,使学生加深对所学知识的理解,熟练掌握各接口器件的特征和使用方 法;熟悉系统设计方法和系统调试方法。 一、制定本大纲的依据 本大纲根据微机原理与应用教学大纲对学生试验能力培养要求而制定。 二、对本门课程的实验具体安排 教学大纲要求总学时 72。根据课程的特点,需要加强实验环节,提高学生 的认识。理论教学 54 学时,实验课共开设 18 个学时,其中认识型实验 12 学时, 综合设计型专业实验 6 学时。学生按照实验指导书的要求,完成指定的实验任务, 并按时提交实验报告。实验课分班进行,每个实验班 80 人左右,配备一名实验 指导教师。 实验分为微机原理和接口两个部分。 计算机科学与技术专业、实验名称及学时分配计算机科学与技术专业、实验名称及学时分配 序号实 验 内 容计划学时教学大纲要求 微机原理部分微机原理部分 1 DOS 常用命令及 8086 指令使用 2 必做 2 内存操作数及寻址方法 2 必做 3 汇编程序上机过程 2 必做 4 分支程序 2 选做 5 多重循环程序 2 必做 6 子程序 2 必做 微机接口部分微机接口部分 1 系统认识及内存扩展实验 2 必做 2 并行口 8255A 的应用实验 2 必做 2 3 定时/计算器 8253 应用实验 2 必做 4 8251A 串行接口应用实验 2 必做 5 8259A 中断控制应用实验 2 选做 6 A/D 转换 0809 应用试验 2 选做 7 综合实验(一) 8 综合实验(二) 合计 18 四、学生应达到的实验能力与标准 1学会 DEBUG 调试软件的应用,熟悉计算机指令和内存数据存储方式; 2掌握汇编语言的循序、分支、循环结构的编程思想; 3对微机原理中的各个硬件环节有初步的认识及实际操作能力; 五、实验成绩的考核与评定办法 根据学生的实验预习、实验纪律、实验动手能力及实验报告结果进行综 合评定,给出优、良、中、及格、不及格。 要求:完成实验后,收拾现场,分析总结写出报告。 主要仪器设备:DVCC-5286JH+教学实验系统一台和 PC 机一台。 六、实验中注意事项六、实验中注意事项: 1.分组领出仪器设备,自行连接系统,编程上机实验; 2.注意安全,防止破坏系统; 3.实验完成后,收拾现场,交还仪器设备,登记销帐。 本实验指导书由曹建民等老师编写,由于时间仓促、水平有限,不尽之处, 敬请指正。 3 目 录 微机原理部分微机原理部分6 6 实验实验 1 1 DOSDOS 常用命令及常用命令及 8088/868088/86 指令使用指令使用6 6 1.1 实验目的6 1.2 实验类型6 1.3 内容及步骤6 1.3.1 DOS常用命令练习.6 1.3.2 DEBUG命令使用7 1.3.3 8088常用指令练习.8 1.4 实验报告10 附 1:动态调试器 DEBUG 使用 .10 实验实验 2 2 内存操作数及寻址方法内存操作数及寻址方法1212 2.1 实验目的12 2.2 实验类型12 2.3 实验内容和步骤12 2.3.1 内存操作数及各种寻址方式使用12 2.3.2 求累加和程序13 2.3.3 多字节加法程序14 2.4 自编程序14 2.5 实验报告14 实验实验 3 3 汇编语言程序上机过程汇编语言程序上机过程1515 3.1 实验目的15 3.2 实验类型15 3.3 实验内容15 3.4 实验步骤16 3.5 实验报告16 实验实验 4 4 分支程序(选做)分支程序(选做)1717 4.1 实验目的17 4.2 实验类型17 4.3 实验内容17 4.4 实验步骤18 4.5 实验报告18 实验实验 5 5 多重循环程序多重循环程序1919 5.1 实验目的19 5.2 实验类型19 5.3 实验内容19 4 5.4 实验步骤20 5.5 实验报告20 实验实验 6 6 子程序子程序2121 6.1 实验目的21 6.2 实验类型21 6.3 实验内容及步骤21 6.3.1 利用堆栈传递参数的子程序调用(求累加和)21 6.4 实验报告23 接口实验部分接口实验部分2424 实验实验 1 1 系统认知及内存扩充实验系统认知及内存扩充实验2424 1.1 实验目的.24 1.2 实验类型.24 1.3 实验设备.24 1.4 实验内容及步骤.24 1.4.1 进入系统24 1.4.2 内存扩容验证内容25 1.4.3 系统操作练习(1)25 1.4.4 系统操作练习(2)26 1.5 实验报告及思考题27 实验实验 2 2 中断特性及中断特性及 82598259 应用编程实验应用编程实验2828 2.1 实验目的28 2.2 实验类型28 2.3 实验内容及步骤28 2.3.1 预备知识28 2.3.2 8259应用实验.31 2.4 实验报告和思考题36 实验实验 3 3 8255A8255A 并行接口应用实验并行接口应用实验3737 3.1 实验目的37 3.2 实验类型37 3.3 实验内容及步骤37 3.3.1 预备知识37 3.3.2 实验内容39 3.4 实验报告和思考题42 实验实验 4 4 82538253 定时定时/ /计数器应用实验计数器应用实验4343 4.1 实验目的43 4.2 实验类型43 4.3 实验内容及实验步骤43 5 4.3.1 预备知识43 4.3.2 8253计数器应用实验内容(1).45 4.4 实验报告和思考题46 实验实验 5 5 82518251 串行接口应用实验串行接口应用实验4848 5.1 实验目的48 5.2 实验类型48 5.3 实验内容及步骤48 5.3.1 预备知识48 5.3.2 8251串行接口应用实验.49 5.4 实验报告和思考题56 实验实验 6 6 ADC0809ADC0809 的的 A/DA/D 转换实验转换实验5757 6.1 实验目的57 6.2 实验类型57 6.3 实验内容及步骤57 6.3.1 准备知识57 6.3.2 实验内容57 6.4 实验报告和思考题60 附附 录录6161 附录 1 汇编语言常用出错信息62 附录 2 动态调试工具软件 DEBUG 命令表66 附录 3 常用 DOS 功能调用(INT21H)67 附录 4 BIOS 调用72 6 微机原理部分微机原理部分 实验实验 1 DOS 常用命令及常用命令及 8088/86 指令使用指令使用 1.1 实验目的实验目的 通过实验掌握下列知识: DOS命令:CD,DIR,MD。 8088指令:MOV,ADD,ADC,SUB,SBB,DAA,XCHG。 DEBUG命令:A,D,E,F,H,R,T,U。 BCD码,ASCII码及用十六进制数表示二进制码的方法。 8088寄存器:AX,BX,CX,DX,F,IP。 指令和数据的十六进制储存方式。 1.2 实验类型实验类型 验证型实验 1.3 内容及步骤内容及步骤 1.3.1 DOS 常用命令常用命令练习练习 开机后,用鼠标左键单击“开始程序附件C:”切换到命令提示符窗口下,操 作过程见图1-1。 图图1-11-1 切换到命令提示符窗口的操作步骤切换到命令提示符窗口的操作步骤 出现提示符后(此时按下ALT+Enter将得到全屏显示界面)键入命令DIR,查看此目录下 7 所有文件,见图1-2。 键入命令E:进入E盘,再键入DIR查看E盘的所有文件。 说明说明:公共计算机房为了防止学生误操作,一些C和D磁盘或子目录是设置为只读属性的, E盘目录下面及其下面的子目录是完全开放的。为了防止学生所作文件因不能存盘而丢失, 建议一般操作练习在E盘目录下运行。 键入MD MASM在E盘根目录下创建一个MASM的文件夹,键入CD MASM进入该文件夹, 再健入DIR差看该目录里的文件(应该是空文件夹)。 键入EXIT,退出DOS返回windows,利用资源管理器差看E盘目录下自己创建的MASM 文件夹及其内容,和在DOS下差看的结果比较。 图图1-21-2 切换到命令提示符窗口的界面切换到命令提示符窗口的界面 在操作时要注意提示信息,并按提示操作。 1.3.2 DEBUG 命令使用命令使用 在DOS环境,键入DEBUG进入DEBUG控制状态,显示提示符'-'。 用命令F1001 LF'A'将'A'的ASCII码填入内存。 用命令D1001 LF观察内存中的十六进制码及屏幕右边的ASCII字符。 用命令F1101 LF 41重复上二项实验,观察结果并比较。 用命令E100 30 31 323F将30H-3FH写入地址为100开始的内存单元中,再用D命令 观察结果,看键入的十六进制数是什么字符的ASCII码? 用H命令检查下列各组十六进制数加减结果并和你的手算结果比较: (1)34H,22H (2)56H,78H (3)A5,79H(4)1284H,5678H (5)A758H,347FH 用R命令检查各寄存器内容,注意AX,BX,CX,DX,IP及标志位中ZF,CF和AF的内容。 8 用R命令将AX,BX内容改写为1050H及23A8H。 DEBUG工具软件的执行界面示意见图1-3,其中标志寄存器的内容含义见表1-1。 图图1-31-3 执行执行debugdebug以及其以及其“t”“r”“d”“t”“r”“d”命令的界面命令的界面 表表1-11-1 标志寄存器显示内容一览表标志寄存器显示内容一览表 标志位显示标志位显示 1 10 0 CF CY()NC() ZF ZR()NZ() SF NG()PL() AF AC()NA() OF OV()NV() PF PE()PO() DF DN()UP() IF EI()DI() 1.3.3 8088 常用指令常用指令练习练习 1. 传送指令 用A命令在内存100H处键入下列内容: -A0100 *:0100MOVAX,1234 *:0103MOVBX,5678 *:0106XCHGAX,BX *:0108MOVAH,35 AXDI 各通用寄存器的 内容 标志寄存器 FR 的内容 段寄存器和 IP 的内容 执行 debug 命令的路径和格式 0F 地址单元的内容(16 进制值)段:偏移 地址 值 0F 地址单元的内容(ASCII 值) 汇编机器码下一条要执行的指令 9 *:010AMOVAL,48 *:010DMOVDX,75AB *:010FXCHGAX,DX *:0111 - 注:*为段寄存器CS的值,是由计算机随机产生的;为回车操作。 用U命令检查键入的程序并记录,特别注意左边的机器码。 -U0100 用T命令逐条运行这些指令,每运行一行检查并记录有关寄存器及IP的变化情况。并注 意标志位有无变化。 -T0100 -T -T 2. 加减法指令 1)用A命令在内存100H处键入下列内容: MOVAH,34 MOVAL,22 ADDAL,AH SUBAL,78 MOVCX,1284 MOVDX,5678 ADDCX,DX SUBCX,AX SUBCX,CX 2)用U命令检查键入的程序及对应的机器码。 3)用T命令逐条运行这些指令,检查并记录有关寄存器及ZF情况。 思考:这次运行还是键入T,行不行?怎么办?用R命令检查一下IP的内容。注意T命令与 IP的关系。 3. 带进位加减法 1)用A命令在内存200H处键入下列内容,并用U命令检查: MOVAH,12 MOVAL,84 MOVCH,56 10 MOVCL,78 ADDAL,CL ADCAH,CH MOVDH,A7 MOVDL,58 SUBDL,7F SBBDH,34 2)用T命令逐条运行这些指令,检查并记录有寄存器及CF内容。 3)上面这段程序若改用16位操作指令达到同样结果,怎么改?试修改并运行之。 4. BCD 码加减法 1)内容: MOVAL,58 ADDAL,25 DAA 2)要求:用A命令键入,U命令检查,T命令逐条运行并记录有关寄存器及AF内容。 1.4 实验报告实验报告 分别比较2/3/4小节内容中各条指令运行结果和手算结果,注释程序。 比较H命令十六进制数加减法手算结果及实验结果。 思考2小节中,为什么要修改IP指令的内容? 在3小节中自编程序运行记录(列出自编程序)。 实验体会和建议。 附附 1:动态调试器:动态调试器 DEBUG 使用使用 DEBUG.COM 是 DOS 的外部命令,也是一个非常方便的汇编程序分析工具。该程序的使用 方式和其他系统程序类似。 其特点是: 每个功能都用一个字符作为命令来实现; 默认采用十六进制表示; 操作格式灵活。 命令提示符为“” 1. DEBUG 的启动 DEBUG 的启动格式如下: DEBUG 其中,文件说明指被调试的程序的全名,参数是该程序所涉及的参数,下面是几个启动 DEBUG 的例子。 11 CDDEBUGDISKCOPY.COMA:B: CDDEBUG TT.COM CDDEBUG 第一句是启动 DISKCOPY 文件,监督执行从 A:拷贝到 B:的操作。 第二句是调试 TT.COM 程序。 第三句是启动 DEBUG,不装入文件。 DEBUG 装入内存后,接着就从磁盘上查找被调试的程序,找到后将其装入内存(对于后 缀为 EXE 的文件,DEBUG 将它装入到最低可用的区段中,并从 100H 开始装入),然后显示出 提示符“-” 。等待用户进一步输入命令。 DEBUG 命令中使用的地址格式约定如下: : 其中可以是段寄存器名,或者是十六进制数,也可以默认。例如: CS: 0100 2212:0100 而地址范围的格式为: : 或 :L 例如:列写地址范围。 CS: 100110 2123:100L10 2. 退出 DEBUG 当完成动态调试任务时,可使用 Q 命令退出并返回操作系统。格式如下: -Q DEBUG的其他命令及其格式见附录3 动态调试工具软件DEBUG命令表。 12 实验实验 2 内存操作数及寻址方法内存操作数及寻址方法 2.1 实验目的实验目的 通过实验掌握下列知识: DEBUG命令:G,N,W,L及Q。 8088系统中数据在内存中的存放方式和内存操作数的几种寻址方式。 8088指令:INC,DEC,LOOP,INT 3,INT 20H,寄存器SI,DI。 8088汇编语言伪操作:BYTE PTR,WORD PTR。 求累加和程序和多字节加减法程序。 2.2 实验类型实验类型 验证型实验 2.3 实验内容和步骤实验内容和步骤 2.3.1 内存操作数及各种内存操作数及各种寻寻址方式使用址方式使用 1. 程序内容 MOVAX,1234 MOV1000,AX MOVBX,1002 MOVBYTEPTR BX,20 MOVDL,39 INCBX MOVBX,DL DECDL MOVSI,3 MOVBX+SI,DL MOVBX+SI+1,DL MOVWORDPTR BX+SI+2,2846 2. 操作步骤 1)用A命令键入上述程序,并用T命令逐条运行。 2)每运行一条有关内存操作数的指令,要用D命令检查并记录有关内存单元的内容并注 明是什么寻址方式。 13 3. 注意 D命令显示结果中右边的ASCII字符及双字节数存放法。 4. 思考 有关指令中BYTEPTR及WORDPTR伪操作不加行不行?试一试。 2.3.2 求累加和程序求累加和程序 1. 程序内容 MOVBX,1000 MOVCX,10 SUBAX,AX LOP:ADDAL,BX ADCAH,0 INCBX J:LOOPLOP INT3 2. 操作步骤 1)用A命令将程序键入到100H开始的内存中,在键入时记下标号LOP和J的实际地址,在 键入LOOP指令时LOP用实际地址值代替。 2)用命令NAA将此程序命名为文件AA(文件名可任取)。 3)用R命令将BX:CX改为程序长度值(即最后一条指令后面的地址减去开始地址)。 4)用命令W100将此程序存到AA命名的磁盘文件中。 5)用命令Q退出DEBUG。 6)用命令DEBUG AA再次调入DEBUG和文件AA,可用U命令检查调入程序。若调入DEBUG时 忘了加AA文件名,可用N命令和L命令将文件调入。 7)用E命令在内存地址1000H处键入16个数字 8)用命令G10J(J用实际地址代替),使程序运行并停在断点J上,检查AX,BX的值是否 符合你的预计值。 9)用T命令运行一步,观察程序方向(IP值)和CX值是否与你的估计一样,若不一样,检 查程序是否有错。 10)重复GJ与T,再检查AX是否正确。 11)用G命令使程序运行到结束,检查AX值是否正确。 14 2.3.3 多字多字节节加法程序加法程序 1. 程序内容 MOVDI,1000 MOVCX,8 MOVSI,2000 CLC LOP: MOVAL,SI ADCDI,AL INCSI INCDI LOOPLOP INT20 2. 操作步骤 1)用命令键入此程序。 2)用E命令在1000H开始处键入一个8字节被加数,在2000H开始处键入一个8字节加数, 均为低字节在前面。 3)用G命令运行此程序,并用D命令检查其结果(存放在哪里?),是否正确? 4)将INT 20H指令改为INT 3,有何区别?若这条指令不加,行不行?试一试。 2.4 自编程序自编程序 用16位减法指令编一个32位(4字节)数减法程序,两个源数及结果存放地址同上题。调 试并做记录。 2.5 实验报告实验报告 说明2.3.1中各条指令的寻址方式,并注释各有关单元数据的察看方式,注释程序。 说明2.3.2中的手算结果,并和AX内容比较是否正确? 说明2.3.3中的结果保存在哪里?并验算结果是否正确? )将INT 20H指令改为INT 3,有何区别?若这条指令不加,行不行? 自编程序记录及运行结果。 实验体会和建议。 15 实验实验 3 汇编语言程序上机过程汇编语言程序上机过程 3.1 实验目的实验目的 掌握常用工具软件EDIT,MASM和LINK的使用。 伪指令:SEGMENT,ENDS,ASSUME,END,OFFSET,DUP。 利用INT21H的1号功能实现键盘输入的方法。 了解.EXE文件和.COM文件的区别及用INT21H 4C号功能返回系统的方法。 3.2 实验类型实验类型 验证型实验 3.3 实验内容实验内容 DATASEGMENT MESSAGE DB'THIS IS A SAMPLE PROGRAM OF KEYBOARD AND DISPLAY' DB0DH,0AH,'PLEASE STRIKE THE KEY!',0DH,0AH,'$' DATAENDS STACKSEGMENT PARASTACK'STACK' DB50DUP(?) ;复制操作符 (重复的数据可以用) STACKENDS CODESEGMENT ASSUMECS:CODE,DS:DATA,SS:STACK START: MOVAX,DATA MOVDS,AX MOVDX,OFFSET MESSAGE MOVAH,9 INT21H AGAIN: MOVAH,1 INT21H CMPAL,1BH JEEXIT CMPAL,61H JCND CMPAL,7AH JAND ANDAL,11011111B 16 ND:MOVDL,AL MOVAH,2 INT21H JMPAGAIN EXIT:MOVAH,4CH INT21H CODEENDS ENDSTART 3.4 实验步骤实验步骤 用用文字编辑工具(常用EDIT或记事本)将源程序输入,其扩展名为.ASM。 用MASM对源文件进行汇编,产生.OBJ文件和.LST文件。若汇编时提示有错,用文字编 辑工具修改源程序后重新汇编,直至通过。 用TYPE命令显示产生的.LST文件。 用LINK将.OBJ文件连接成可执行的.EXE文件。 在DOS状态下运行LINK产生的.EXE文件。即在屏幕上显示标题并提示你按键。每按一 键在屏幕上显示二个相同的字符,但小写字母被改成大写。按ESC键可返回DOS。若未出现预 期结果,用DEBUG检查程序。 调试通过后,修改并自编程序,使得输入“T”,在屏幕上显示“TEST”,不影响其 它。 上机试验过程参见图3-1。 编辑程序 连接程序 汇编程序 文件 EXMP.ASM LINK ASM MASM TASM EDLINE WPS WORD EDIT 文件 EXMP.OBJ (EXMP.LST) (EXMP.CRF) 文件 EXMP.EXE (EXMP.MAP) (EXMP.LIB) DEBUG 出错 出错 出错 出错 图图 3-13-1 汇编语言程序的建立及汇编过程汇编语言程序的建立及汇编过程 3.5 实验报告实验报告 汇编,连接及调试时产生的错误,其原因及解决办法。 思考 若在源程序中把INT 21H的'H'省去,会产生什么现象? 把INT 21H 4CH号功能改为INT 20H,行不行? 写出自编的程序,并注释。 17 实验体会和建议。 18 实验实验 4 分支程序分支程序(选做)(选做) 4.1 实验目的实验目的 掌握利用间接转移指令JMPBX实现多岔分支的方法。 宏替换指令MACRO及ENDM,符号扩展指令CBW。 4.2 实验类型实验类型 验证型实验 4.3 实验内容实验内容 DISPMACROMSG LEADX,MSG MOVAH,9 INT21H MOVAH,4CH INT21H ENDM STACKSEGMENTSTACK DB256DUP(0) STACKENDS DATASEGMENT PARMDB16DUP(?) BRTABLEDWOFFSETBRA,OFFSETBRB,OFFSETBRC DWOFFSETBRD,OFFSETBRE,OFFSETBRF MSGADB'I LIKE MY IBM-PC!$' MSGBDB'HOW ARE YOU!$' MSGCDB'NIBAO COLLEGE $' MSGDDB'THIS IS A SAMPLE$' MSGEDB'WELLCOME USE MY COMPUTER!$' MSGFDB'THE ASSEMBLER LANGUAGE OF 8088$' ERRMSDB'ERROR!INVALID PARAMETER!$' DATAENDS CODESEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START:MOVAX,DATA MOVES,AX MOVSI,80H LEADI,PARM 19 MOVCX,16 CLD REPMOVSB MOVDS,AX CMPPARM,2 JCERR MOVAL,PARM+2 SUBAL,30H JCERR CMPAL,6 JNCERR LEABX,BRTABLE CBW ADDAX,AX ADDBX,AX JMPBX ERR:DISPERRMS BRA:DISPMSGA BRB:DISPMSGB BRC:DISPMSGC BRD:DISPMSGD BRE:DISPMSGE BRF:DISPMSGF CODEENDS ENDSTART 4.4 实验步骤实验步骤 输入并汇编此程序。要求生成一个.LST文件。用TYPE命令检查.LST文件,观察宏替换 命令产生的指令集。 将OBJ文件连接成EXE文件(假设为AA.EXE)。 用命令DEBUG AA.EXE XXX(XXX为任意字符串)将AA.EXE带参数调入DEBUG用D命令观察 DS:0080处的命令行,记录80H处的内容和字符个数的关系。 退出DEBUG。直接带参数运行此程序:AAn(n05) 依次观察并记录n从0到5时的运行结果。 4.5 实验报告实验报告 实验记录。 说明80H处的内容和字符的关系。 实验体会和建议。 20 实验实验 5 多重循环程序多重循环程序 5.1 实验目的实验目的 掌握多重循环程序和排序程序设计方法。 掌握带符号数的比较转移指令:JL,JLE,JG,JGE 伪指令EQU及操作符'$'的使用。 COM文件的要求和生成过程。 5.2 实验类型实验类型 验证型实验 5.3 实验内容实验内容 CODESEGMENT ORG100H ASSUME CS:CODE,DS:CODE MAIN:JMPSTART ARRAYDW1234H,5673H,7FFFH,8000H,0DFFH DW0AB5H,0369H,005FH,5634H,9069H COUNTEQU$-ARRAY START:MOVCX,COUNT SHRCX,1 DECCX MOVBL,-1 AGAIN:MOVDX,CX ANDBL,BL JEEXIT XORBL,BL XORSI,SI AGAIN1:MOVAX,ARRAYSI CMPAX,ARRAYSI+2 JLENCHG XCHGARRAYSI+2,AX MOVARRAYSI,AX MOVBL,-1 NCHG:INCSI 21 INCSI DECDX JNZAGAIN1 LOOPAGAIN EXIT:INT20H CODEENDS ENDMAIN 5.4 实验步骤实验步骤 输入,汇编并连接此程序。忽略连接时的无堆栈告警。 在DEBUG下运行此程序,记录运行结果。 将转移指令JLE改为JBE,JGE和JAE,分别运行并记录排序结果。 修改并自编程序,在屏幕输出大循环次数。 5.5 实验报告实验报告 检查编译完成的COM文件大小,并和相应的EXE文件大小比较。 思考排序结果保存在哪里?如何查看? 分别记录将转移指令JLE改为JBE,JGE和JAE后排序结果,并和手算结果比较。 写出自编程序及绘制流程图和程序,并注释程序。 实验体会和建议。 22 实验实验 6 子程序子程序 6.1 实验目的实验目的 掌握利用堆栈传递参数的子程序调用方法。 过程调用伪指令:PROC,ENDP,NEAR和FAR。 8088指令:CALL,RET,RETn。 6.2 实验类型实验类型 验证型实验 6.3 实验内容及步骤实验内容及步骤 6.3.1 利用堆利用堆栈传递栈传递参数的子程序参数的子程序调调用用(求累加和求累加和) 1. 程序内容 data segment ary1 db 1,2,3,4,5,6 cc1 equ $-ary1 sum1 dw ? ary2 db 7,8,9,10 cc2 equ $-ary2 sum2 dw ? pkey db “press any key.$“ ends sst segment spae db 200 dup(?) top equ 200 sst ends code segment assume cs:code,ds:data,ss:sst start: mov ax, data mov ds, ax mov ax,sst 23 mov ss,ax mov sp,top mov ax,cc1 push ax lea ax,ary1 push ax call sum mov ax,cc2 push ax lea ax,ary2 push ax call sum mov ax,4c00H int 21h sum proc near push ax push bx push cx mov bp,sp pushf mov cx,bp+10 mov bx,bp+8 xor ax,ax a1: add al,bx inc bx adc ah,0 loop a1 mov bx,ax popf pop cx pop bx pop ax ret 4 sum endp code ends 24 end start 2. 操作步骤 输入,汇编并将此程序连接成EXE文件。 用DEBUG的断点命令和T命令运行此程序,观察并记录每次过程调用及进出栈指令前后 的SP和堆栈内容。 记录最后结果:SUM1,SUM2的段及偏移地址和它们的内容。 修改并自编程序,使得在屏幕上输出SUM的结果(2位数) 6.4 实验报告实验报告 思考SUM1,SUM2的段及偏移地址为多少? 查看SUM1,SUM2的内容并和手算结果比较。 画出程序堆栈的示意图。 写出自编的程序及绘制流程图,并注释程序。 实验体会和建议。 25 接口接口实验实验部分部分 实验实验 1 系统认知及内存扩充实验系统认知及内存扩充实验 1.11.1 实验目的实验目的 掌握 DVCC-5286JH+教学系统的基本操作。 了解仿真环境和集成开发环境。 了解内存扩充的方法。 熟悉静态 RAM 读写数据编程方法。 1.21.2 实验类型实验类型 验证型实验 1.31.3 实验设备实验设备 DVCC-5286JH+教学系统一台和 PC 机一台。 1.41.4 实验内容及步骤实验内容及步骤 1.4.11.4.1 进入系统进入系统 使用串行通讯电缆将实验系统与 PC 微机相连,开启 PC 微机及实验平台的电源开关,启 动实验系统,进入 DV88h 系统,屏幕显示如下: 图图 1-11-1 集成操作软件界面集成操作软件界面 26 屏幕上端为菜单栏,通过键盘各功能键选择使用编辑、选项、动态调试、试验指南等功 能. 实验平台启动后,应在提示符“P.”状态。在键盘监控状态,段地址的缺省值为 0000H。 1.4.2 内存内存扩扩容容验证验证内容内容 对指定地址区间的 RAM(2000H23FFH)先进行写数据 55AAH, 然后将其内容读出再写到 3000H33FFH 中。 1.4.31.4.3 系统操作练习系统操作练习(1)(1) 联机运行 在实验台系统上按下 PCDBG 键,在 PC 机菜单上选择“联接 DVCC 系统”菜单项。联 机正常,屏幕出现:反汇编窗口、数据窗口、寄存器标志位窗口。 实验程序文件名为DVCCH8EXEH812S.EXE。 实验程序如下: CODE SEGMENT ASSUME CS:CODE ORG 1700h ;定义起始地址 START: MOV AX,0H ;定义数据段寄存器 MOV DS,AX MOV BX,2000H ;定义数据地址 MOV AX,55AAH ;置常数为 55AA MOV CX,03FFH ;置字节数 CX RAMW1:MOV DS:BX,AX ADD BX,0002H LOOP RAMW1 ;一直写到字节数为 0 MOV AX,2000H MOV SI,AX ;置源数据区地址 MOV AX,3000H MOV DI,AX ;置目的数据区地址 MOV CX,03FFH CLD ;确定地址变化方向 REP MOVSB ;写数据到目标数据区 JMP $ CODE ENDS END START 27 传送文件到指定的位置(不用输入,直接在DVCCH8EXEH812S.EXE) 。在“动态调 试”菜单栏中,选择“传送 EXE 文件” ,单击传送到指定地址。然后可以分别使用单步、 断点等方法运行程序。 用存储器读写方法检查 2000H2300H 中的内容应都是 55AA。 1.4.41.4.4 系统操作练习系统操作练习(2)(2) 单机运行 单机时,实验程序起始地址为 F000:9700。 在系统显示监控提示符“P.”时: 输入 F000 按 F1 键 输入 9700 按 EXEC 键 稍后按 RESET 键退出,用存储器读写方法检查 2000H3000H 中的内容应都是 55AA。 1.贮存单元的显示和修改 操作:XXXXMEM。即在提示符下,先输入 4 位储存单元的地址,在按 MEM 键, 右边 4 位显示该单元的内容。此时 按 NEXT 键使地址加 1 显示; 按 LAST 键使地址减 1 显示; 键入 16 进制数据,则将改变现行单元的内容; 按 MON 键返回监控,系统提示“P.” 2.寄存器内容显示修改 操作:XREG。即在系统提示符下,先输入寄存器的代号,在按 REG 键,显示器右 边 4 位显示该寄存器的内容,左 3、4 位显示寄存器的名,此时: 按 NEXT 键,则依次循环显示下一个寄存器中的内容; 按 LAST 键,则依次显示上一个寄存器的内容; 键入 16 进制的数据,则修改该寄存器的内容; 按 MON 键,则返回系统。 寄存器代号和寄存器名的对应关系如下: 0123456789ABCD AXBXCXDXSPBPSIDICSDSSSESIPFL 3.单步运行 操作:有三种状态都可以进入单步操作(段地址固定为 0000H) 在监控系统提示符“P.”下,按 STEP 键,从默认的起始地址 IP=1000H 单元开始运 行每一条语句; 在储存单元读写状态(右边 2 位显示内容的状态)下,从当前存储器地址开始单步 28 运行; 先输入 4 位起始地址,在按 STEP 键,在从输入地址处开始运行。每运行一条语句, 显示器显示下一条指令语句的地址和内容。 4.连续运行 操作:有三种状态都可以进入连续运行 在监控系统提示符“P.”下,按 EXEC 键,从默认的起始地址 CS=0000H,IP=1000H 单元开始运行程序; 在储存单元读写状态(右边 2 位显示内容的状态)下,再按 EXEC 键,从当前存储 器地址开始运行; 先输入 4 位起始地址,在按 EXEC 键,在从输入地址处开始运行程序(默认 CS) ; 先输入 4 位段地址,按 F1 键,再输入 4 位偏移地址,再按 EXEC 键,则从规定地 址开始运行程序。 如果要返回监控,可以按 8088 上的 STOP 键或者系统复位 RESET 键。如果用 STOP 返回,则保护所有寄存器的内容。如果用 RESET 键则初始化。 5.断点运行(默认 CS=0000H) 操作:XXXX F2 XXXX EXEC。即先输入 4 位断点地址,按 F2 键,再输入 4 位起始地 址,再按 EXEC 键,再程序执行到断点停下来,并显示断点地址和内容,同时保护寄存器的 值。 分别使用上述方法运行运行程序 H821S,和联机结果比较。 1.5 实验报告及思考题实验报告及思考题 为什么运行程序时在“P.”提示符下键入 XXXX F1 XXXX EXEC?若直接键入 XXXX EXEC?行不行? 如果不进行 EXE 文件传送,运行程序并查看 2000H-2300H 的数据是些什么? 该实验系统内容容量为多少?使用的地址范围是多少?需要多少条地址线片内寻址? 如果给1000H:1000H写入55AA,检查写到了那个单元去了? 实验体会和建议。 29 实验实验 2 中断特性及中断特性及 8259 应用编程实验应用编程实验 2.1 实验目的实验目的 掌握中断控制器 8259A 与微机接口的原理和方法。 掌握中断控制器 8259A 的应用编程。 学习在接口实验单元上构造连接实验电路的方法。 2.2 实验类型实验类型 验证型实验 2.3 实验内容及步骤实验内容及步骤 2.3.1 预备预备知知识识 1、8259A 的内部结构 8259A

    注意事项

    本文([工学]微机实验书.doc)为本站会员(音乐台)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开