[工学]微机实验书.doc

上传人:sccc 文档编号:4532910 上传时间:2023-04-26 格式:DOC 页数:76 大小:2.73MB
返回 下载 相关 举报
[工学]微机实验书.doc_第1页
第1页 / 共76页
[工学]微机实验书.doc_第2页
第2页 / 共76页
[工学]微机实验书.doc_第3页
第3页 / 共76页
[工学]微机实验书.doc_第4页
第4页 / 共76页
[工学]微机实验书.doc_第5页
第5页 / 共76页
点击查看更多>>
资源描述

《[工学]微机实验书.doc》由会员分享,可在线阅读,更多相关《[工学]微机实验书.doc(76页珍藏版)》请在三一办公上搜索。

1、微机原理与接口技术实验指导书深圳大学电子科学与技术学院2008年12月75微机原理与接口技术实验微机原理与接口技术实验课是计算机科学与技术专业本科生(或相关信息类专业)教学的必修课程,是重要的专业技术基础课。在理论教学基础上通过实验教学,使学生加深对所学知识的理解,熟练掌握各接口器件的特征和使用方法;熟悉系统设计方法和系统调试方法。一、制定本大纲的依据本大纲根据微机原理与应用教学大纲对学生试验能力培养要求而制定。二、对本门课程的实验具体安排教学大纲要求总学时72。根据课程的特点,需要加强实验环节,提高学生的认识。理论教学54学时,实验课共开设18个学时,其中认识型实验12学时,综合设计型专业实

2、验6学时。学生按照实验指导书的要求,完成指定的实验任务,并按时提交实验报告。实验课分班进行,每个实验班80人左右,配备一名实验指导教师。实验分为微机原理和接口两个部分。计算机科学与技术专业、实验名称及学时分配序号实 验 内 容计划学时教学大纲要求微机原理部分1DOS常用命令及8086指令使用2必做2内存操作数及寻址方法2必做3汇编程序上机过程2必做4分支程序2选做5多重循环程序2必做6子程序2必做微机接口部分1系统认识及内存扩展实验2必做2并行口8255A的应用实验2必做3定时/计算器8253应用实验2必做48251A串行接口应用实验2必做58259A中断控制应用实验2选做6A/D转换0809

3、应用试验2选做7综合实验(一)8综合实验(二)合计18四、学生应达到的实验能力与标准1学会DEBUG调试软件的应用,熟悉计算机指令和内存数据存储方式;2掌握汇编语言的循序、分支、循环结构的编程思想;3对微机原理中的各个硬件环节有初步的认识及实际操作能力;五、 实验成绩的考核与评定办法根据学生的实验预习、实验纪律、实验动手能力及实验报告结果进行综合评定,给出优、良、中、及格、不及格。要求:完成实验后,收拾现场,分析总结写出报告。主要仪器设备:DVCC-5286JH+教学实验系统一台和PC机一台。六、实验中注意事项:1.分组领出仪器设备,自行连接系统,编程上机实验;2.注意安全,防止破坏系统;3.

4、实验完成后,收拾现场,交还仪器设备,登记销帐。 本实验指导书由曹建民等老师编写,由于时间仓促、水平有限,不尽之处,敬请指正。目 录微机原理部分6实验1 DOS常用命令及8088/86指令使用61.1 实验目的61.2 实验类型61.3 内容及步骤61.3.1 DOS常用命令练习61.3.2 DEBUG命令使用71.3.3 8088常用指令练习81.4 实验报告10附1:动态调试器DEBUG使用10实验2 内存操作数及寻址方法122.1 实验目的122.2 实验类型122.3 实验内容和步骤122.3.1 内存操作数及各种寻址方式使用122.3.2 求累加和程序132.3.3 多字节加法程序14

5、2.4 自编程序142.5 实验报告14实验3 汇编语言程序上机过程153.1 实验目的153.2 实验类型153.3 实验内容153.4 实验步骤163.5 实验报告16实验4 分支程序(选做)174.1 实验目的174.2 实验类型174.3 实验内容174.4 实验步骤184.5 实验报告18实验5 多重循环程序195.1 实验目的195.2 实验类型195.3 实验内容195.4 实验步骤205.5 实验报告20实验6 子程序216.1 实验目的216.2 实验类型216.3 实验内容及步骤216.3.1 利用堆栈传递参数的子程序调用(求累加和)216.4 实验报告23接口实验部分24

6、实验1 系统认知及内存扩充实验241.1 实验目的241.2 实验类型241.3 实验设备241.4 实验内容及步骤241.4.1 进入系统241.4.2 内存扩容验证内容251.4.3 系统操作练习(1)251.4.4 系统操作练习(2)261.5 实验报告及思考题27实验2 中断特性及8259应用编程实验282.1 实验目的282.2 实验类型282.3 实验内容及步骤282.3.1 预备知识282.3.2 8259应用实验312.4 实验报告和思考题36实验3 8255A并行接口应用实验373.1 实验目的373.2 实验类型373.3 实验内容及步骤373.3.1 预备知识373.3.

7、2 实验内容393.4 实验报告和思考题42实验4 8253定时/计数器应用实验434.1 实验目的434.2 实验类型434.3 实验内容及实验步骤434.3.1 预备知识434.3.2 8253计数器应用实验内容(1)454.4 实验报告和思考题46实验5 8251串行接口应用实验485.1 实验目的485.2 实验类型485.3 实验内容及步骤485.3.1 预备知识485.3.2 8251串行接口应用实验495.4 实验报告和思考题56实验6 ADC0809的A/D转换实验576.1 实验目的576.2 实验类型576.3 实验内容及步骤576.3.1 准备知识576.3.2 实验内容

8、576.4 实验报告和思考题60附 录61附录1 汇编语言常用出错信息62附录2 动态调试工具软件DEBUG命令表66附录3 常用DOS功能调用(INT21H)67附录4 BIOS调用72微机原理部分实验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

9、.3 内容及步骤1.3.1 DOS常用命令练习开机后,用鼠标左键单击“开始程序附件C:”切换到命令提示符窗口下,操作过程见图1-1。图1-1 切换到命令提示符窗口的操作步骤出现提示符后(此时按下ALT+Enter将得到全屏显示界面)键入命令DIR,查看此目录下所有文件,见图1-2。键入命令E:进入E盘,再键入DIR查看E盘的所有文件。说明:公共计算机房为了防止学生误操作,一些C和D磁盘或子目录是设置为只读属性的,E盘目录下面及其下面的子目录是完全开放的。为了防止学生所作文件因不能存盘而丢失,建议一般操作练习在E盘目录下运行。键入MD MASM在E盘根目录下创建一个MASM的文件夹,键入CD M

10、ASM进入该文件夹,再健入DIR差看该目录里的文件(应该是空文件夹)。键入EXIT,退出DOS返回windows,利用资源管理器差看E盘目录下自己创建的MASM文件夹及其内容,和在DOS下差看的结果比较。图1-2 切换到命令提示符窗口的界面在操作时要注意提示信息,并按提示操作。1.3.2 DEBUG命令使用在DOS环境,键入DEBUG进入DEBUG控制状态,显示提示符-。用命令F1001 LFA将A的ASCII码填入内存。用命令D1001 LF观察内存中的十六进制码及屏幕右边的ASCII字符。用命令F1101 LF 41重复上二项实验,观察结果并比较。用命令E100 30 31 323F将30

11、H-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的内容。用R命令将AX,BX内容改写为1050H及23A8H。DEBUG工具软件的执行界面示意见图1-3,其中标志寄存器的内容含义见表1-1。下一条要执行的指令0F地址单元的内容(16进制值)段:偏移 地址值汇编机器码0F地址单元的内

12、容(ASCII值)执行debug命令的路径和格式段寄存器和IP的内容AXDI各通用寄存器的内容标志寄存器FR的内容图1-3 执行debug以及其“t”“r”“d”命令的界面表1-1 标志寄存器显示内容一览表标志位显示10CFCY()NC()ZFZR()NZ()SFNG()PL()AFAC()NA()OFOV()NV()PFPE()PO()DFDN()UP()IFEI()DI()1.3.3 8088常用指令练习1. 传送指令用A命令在内存100H处键入下列内容:-A0100*:0100MOVAX,1234*:0103MOVBX,5678*:0106XCHGAX,BX*:0108MOVAH,35*

13、:010AMOVAL,48*:010DMOVDX,75AB*:010FXCHGAX,DX*:0111-注:*为段寄存器CS的值,是由计算机随机产生的;为回车操作。用U命令检查键入的程序并记录,特别注意左边的机器码。-U0100用T命令逐条运行这些指令,每运行一行检查并记录有关寄存器及IP的变化情况。并注意标志位有无变化。-T0100-T-T2. 加减法指令1)用A命令在内存100H处键入下列内容:MOVAH,34MOVAL,22ADDAL,AHSUBAL,78MOVCX,1284MOVDX,5678ADDCX,DXSUBCX,AXSUBCX,CX2)用U命令检查键入的程序及对应的机器码。3)用

14、T命令逐条运行这些指令,检查并记录有关寄存器及ZF情况。思考:这次运行还是键入T,行不行?怎么办?用R命令检查一下IP的内容。注意T命令与IP的关系。3. 带进位加减法1)用A命令在内存200H处键入下列内容,并用U命令检查:MOVAH,12MOVAL,84MOVCH,56MOVCL,78ADDAL,CLADCAH,CHMOVDH,A7MOVDL,58SUBDL,7FSBBDH,342)用T命令逐条运行这些指令,检查并记录有寄存器及CF内容。3)上面这段程序若改用16位操作指令达到同样结果,怎么改?试修改并运行之。4. BCD码加减法1)内容:MOVAL,58ADDAL,25DAA2)要求:用

15、A命令键入,U命令检查,T命令逐条运行并记录有关寄存器及AF内容。1.4 实验报告 分别比较2/3/4小节内容中各条指令运行结果和手算结果,注释程序。 比较H命令十六进制数加减法手算结果及实验结果。 思考2小节中,为什么要修改IP指令的内容? 在3小节中自编程序运行记录(列出自编程序)。 实验体会和建议。附1:动态调试器DEBUG使用DEBUG.COM是DOS的外部命令,也是一个非常方便的汇编程序分析工具。该程序的使用方式和其他系统程序类似。其特点是: 每个功能都用一个字符作为命令来实现; 默认采用十六进制表示; 操作格式灵活。 命令提示符为“”1. DEBUG的启动DEBUG的启动格式如下:

16、DEBUG其中,文件说明指被调试的程序的全名,参数是该程序所涉及的参数,下面是几个启动DEBUG的例子。CDDEBUGDISKCOPY.COMA:B:CDDEBUG TT.COMCDDEBUG第一句是启动DISKCOPY文件,监督执行从A:拷贝到B:的操作。第二句是调试TT.COM程序。第三句是启动DEBUG,不装入文件。DEBUG装入内存后,接着就从磁盘上查找被调试的程序,找到后将其装入内存(对于后缀为EXE的文件,DEBUG将它装入到最低可用的区段中,并从100H开始装入),然后显示出提示符“-”。等待用户进一步输入命令。DEBUG命令中使用的地址格式约定如下:其中可以是段寄存器名,或者是

17、十六进制数,也可以默认。例如:CS: 01002212:0100而地址范围的格式为:或:L例如:列写地址范围。 CS: 1001102123:100L102. 退出DEBUG当完成动态调试任务时,可使用Q命令退出并返回操作系统。格式如下:-QDEBUG的其他命令及其格式见附录3 动态调试工具软件DEBUG命令表。实验2 内存操作数及寻址方法2.1 实验目的通过实验掌握下列知识:DEBUG命令:G,N,W,L及Q。8088系统中数据在内存中的存放方式和内存操作数的几种寻址方式。8088指令:INC,DEC,LOOP,INT 3,INT 20H,寄存器SI,DI。8088汇编语言伪操作:BYTE

18、PTR,WORD PTR。求累加和程序和多字节加减法程序。2.2 实验类型验证型实验2.3 实验内容和步骤2.3.1 内存操作数及各种寻址方式使用1. 程序内容MOVAX,1234MOV1000,AXMOVBX,1002MOVBYTEPTRBX,20MOVDL,39INCBXMOVBX,DLDECDLMOVSI,3MOVBX+SI,DLMOVBX+SI+1,DLMOVWORDPTRBX+SI+2,28462. 操作步骤1)用A命令键入上述程序,并用T命令逐条运行。2)每运行一条有关内存操作数的指令,要用D命令检查并记录有关内存单元的内容并注明是什么寻址方式。3. 注意D命令显示结果中右边的AS

19、CII字符及双字节数存放法。4. 思考有关指令中BYTEPTR及WORDPTR伪操作不加行不行?试一试。2.3.2 求累加和程序1. 程序内容MOVBX,1000MOVCX,10SUBAX,AXLOP:ADDAL,BXADCAH,0INCBXJ:LOOPLOPINT32. 操作步骤1)用A命令将程序键入到100H开始的内存中,在键入时记下标号LOP和J的实际地址,在键入LOOP指令时LOP用实际地址值代替。2)用命令NAA将此程序命名为文件AA(文件名可任取)。3)用R命令将BX:CX改为程序长度值(即最后一条指令后面的地址减去开始地址)。4)用命令W100将此程序存到AA命名的磁盘文件中。5

20、)用命令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值是否正确。2.3.3 多字节加法程序1. 程序内容MOVDI,1000MOVCX,8MOVSI

21、,2000CLCLOP: MOVAL,SIADCDI,ALINCSIINCDILOOPLOPINT202. 操作步骤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中各条指令的寻址方式,并注释各有关单元数据的察看方式,注释

22、程序。 说明2.3.2中的手算结果,并和AX内容比较是否正确? 说明2.3.3中的结果保存在哪里?并验算结果是否正确? )将INT 20H指令改为INT 3,有何区别?若这条指令不加,行不行? 自编程序记录及运行结果。 实验体会和建议。实验3 汇编语言程序上机过程3.1 实验目的掌握常用工具软件EDIT,MASM和LINK的使用。伪指令:SEGMENT,ENDS,ASSUME,END,OFFSET,DUP。利用INT21H的1号功能实现键盘输入的方法。了解.EXE文件和.COM文件的区别及用INT21H4C号功能返回系统的方法。3.2 实验类型验证型实验3.3 实验内容DATASEGMENTM

23、ESSAGEDBTHIS IS A SAMPLE PROGRAM OF KEYBOARD AND DISPLAYDB0DH,0AH,PLEASE STRIKE THE KEY!,0DH,0AH,$DATAENDSSTACKSEGMENTPARASTACKSTACKDB50DUP(?) ;复制操作符 (重复的数据可以用)STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXMOVDX,OFFSETMESSAGEMOVAH,9INT21H AGAIN:MOVAH,1INT21H CMPAL,1BHJEEX

24、ITCMPAL,61HJCNDCMPAL,7AHJANDANDAL,11011111BND:MOVDL,ALMOVAH,2INT21HJMPAGAINEXIT:MOVAH,4CHINT21HCODEENDSENDSTART3.4 实验步骤用用文字编辑工具(常用EDIT或记事本)将源程序输入,其扩展名为.ASM。用MASM对源文件进行汇编,产生.OBJ文件和.LST文件。若汇编时提示有错,用文字编辑工具修改源程序后重新汇编,直至通过。用TYPE命令显示产生的.LST文件。用LINK将.OBJ文件连接成可执行的.EXE文件。在DOS状态下运行LINK产生的.EXE文件。即在屏幕上显示标题并提示你按

25、键。每按一键在屏幕上显示二个相同的字符,但小写字母被改成大写。按ESC键可返回DOS。若未出现预期结果,用DEBUG检查程序。调试通过后,修改并自编程序,使得输入“T”,在屏幕上显示“TEST”,不影响其它。上机试验过程参见图3-1。图3-1 汇编语言程序的建立及汇编过程3.5 实验报告汇编,连接及调试时产生的错误,其原因及解决办法。思考若在源程序中把INT 21H的H省去,会产生什么现象?把INT 21H 4CH号功能改为INT 20H,行不行?写出自编的程序,并注释。实验体会和建议。实验4 分支程序(选做)4.1 实验目的掌握利用间接转移指令JMPBX实现多岔分支的方法。宏替换指令MACR

26、O及ENDM,符号扩展指令CBW。4.2 实验类型验证型实验4.3 实验内容DISPMACROMSGLEADX,MSGMOVAH,9INT21HMOVAH,4CHINT21HENDMSTACKSEGMENTSTACKDB256DUP(0)STACKENDSDATASEGMENTPARMDB16DUP(?)BRTABLEDWOFFSETBRA,OFFSETBRB,OFFSETBRCDWOFFSETBRD,OFFSETBRE,OFFSETBRFMSGADBI LIKE MY IBM-PC!$MSGBDBHOW ARE YOU!$MSGCDBNIBAO COLLEGE $MSGDDBTHIS IS

27、A SAMPLE$MSGEDBWELLCOME USE MY COMPUTER!$MSGFDBTHE ASSEMBLER LANGUAGE OF 8088$ERRMSDBERROR!INVALID PARAMETER!$DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVES,AXMOVSI,80HLEADI,PARMMOVCX,16CLDREPMOVSBMOVDS,AXCMPPARM,2JCERRMOVAL,PARM+2SUBAL,30HJCERRCMPAL,6JNCERRLEABX,BRTABLECBWAD

28、DAX,AXADDBX,AXJMPBXERR:DISPERRMSBRA:DISPMSGABRB:DISPMSGBBRC:DISPMSGCBRD:DISPMSGDBRE:DISPMSGEBRF:DISPMSGFCODEENDSENDSTART4.4 实验步骤输入并汇编此程序。要求生成一个.LST文件。用TYPE命令检查.LST文件,观察宏替换命令产生的指令集。将OBJ文件连接成EXE文件(假设为AA.EXE)。用命令DEBUG AA.EXE XXX(XXX为任意字符串)将AA.EXE带参数调入DEBUG用D命令观察DS:0080处的命令行,记录80H处的内容和字符个数的关系。退出DEBUG。直接

29、带参数运行此程序:AAn(n05)依次观察并记录n从0到5时的运行结果。4.5 实验报告实验记录。说明80H处的内容和字符的关系。实验体会和建议。实验5 多重循环程序5.1 实验目的掌握多重循环程序和排序程序设计方法。掌握带符号数的比较转移指令:JL,JLE,JG,JGE伪指令EQU及操作符$的使用。COM文件的要求和生成过程。5.2 实验类型验证型实验5.3 实验内容CODESEGMENTORG100HASSUMECS:CODE,DS:CODEMAIN:JMPSTARTARRAYDW1234H,5673H,7FFFH,8000H,0DFFHDW0AB5H,0369H,005FH,5634H,

30、9069HCOUNTEQU$-ARRAYSTART:MOVCX,COUNTSHRCX,1DECCXMOVBL,-1AGAIN:MOVDX,CXANDBL,BLJEEXITXORBL,BLXORSI,SIAGAIN1:MOVAX,ARRAYSICMPAX,ARRAYSI+2JLENCHGXCHGARRAYSI+2,AXMOVARRAYSI,AXMOVBL,-1NCHG:INCSIINCSIDECDXJNZAGAIN1LOOPAGAINEXIT:INT20HCODEENDSENDMAIN5.4 实验步骤输入,汇编并连接此程序。忽略连接时的无堆栈告警。在DEBUG下运行此程序,记录运行结果。将转移指

31、令JLE改为JBE,JGE和JAE,分别运行并记录排序结果。修改并自编程序,在屏幕输出大循环次数。5.5 实验报告 检查编译完成的COM文件大小,并和相应的EXE文件大小比较。 思考排序结果保存在哪里?如何查看? 分别记录将转移指令JLE改为JBE,JGE和JAE后排序结果,并和手算结果比较。 写出自编程序及绘制流程图和程序,并注释程序。 实验体会和建议。实验6 子程序6.1 实验目的 掌握利用堆栈传递参数的子程序调用方法。 过程调用伪指令:PROC,ENDP,NEAR和FAR。 8088指令:CALL,RET,RETn。6.2 实验类型验证型实验6.3 实验内容及步骤6.3.1 利用堆栈传递

32、参数的子程序调用(求累加和)1. 程序内容data segmentary1 db 1,2,3,4,5,6cc1 equ $-ary1sum1 dw ?ary2 db 7,8,9,10cc2 equ $-ary2sum2 dw ?pkey db press any key.$endssst segmentspae db 200 dup(?)top equ 200sst endscode segmentassume cs:code,ds:data,ss:sststart:mov ax, datamov ds, axmov ax,sstmov ss,axmov sp,topmov ax,cc1pus

33、h axlea ax,ary1push axcall summov ax,cc2push axlea ax,ary2push axcall summov ax,4c00Hint 21hsum proc nearpush axpush bxpush cxmov bp,sppushfmov cx,bp+10mov bx,bp+8xor ax,axa1: add al,bxinc bxadc ah,0loop a1mov bx,axpopfpop cxpop bxpop axret 4sum endpcode endsend start2. 操作步骤输入,汇编并将此程序连接成EXE文件。用DEBUG

34、的断点命令和T命令运行此程序,观察并记录每次过程调用及进出栈指令前后的SP和堆栈内容。记录最后结果:SUM1,SUM2的段及偏移地址和它们的内容。修改并自编程序,使得在屏幕上输出SUM的结果(2位数)6.4 实验报告 思考SUM1,SUM2的段及偏移地址为多少? 查看SUM1,SUM2的内容并和手算结果比较。 画出程序堆栈的示意图。 写出自编的程序及绘制流程图,并注释程序。 实验体会和建议。 接口实验部分实验1 系统认知及内存扩充实验1.1 实验目的掌握DVCC-5286JH+教学系统的基本操作。了解仿真环境和集成开发环境。了解内存扩充的方法。熟悉静态RAM读写数据编程方法。1.2 实验类型验

35、证型实验1.3 实验设备DVCC-5286JH+教学系统一台和PC机一台。1.4 实验内容及步骤1.4.1 进入系统使用串行通讯电缆将实验系统与PC微机相连,开启PC微机及实验平台的电源开关,启动实验系统,进入DV88h系统,屏幕显示如下:图1-1 集成操作软件界面屏幕上端为菜单栏,通过键盘各功能键选择使用编辑、选项、动态调试、试验指南等功能.实验平台启动后,应在提示符“P.”状态。在键盘监控状态,段地址的缺省值为0000H。1.4.2 内存扩容验证内容 对指定地址区间的RAM(2000H23FFH)先进行写数据55AAH, 然后将其内容读出再写到3000H33FFH中。1.4.3 系统操作练

36、习(1)联机运行在实验台系统上按下PCDBG键,在PC机菜单上选择“联接DVCC系统”菜单项。联机正常,屏幕出现:反汇编窗口、数据窗口、寄存器标志位窗口。实验程序文件名为DVCCH8EXEH812S.EXE。实验程序如下:CODE SEGMENTASSUME CS:CODEORG 1700h ;定义起始地址START:MOV AX,0H ;定义数据段寄存器MOV DS,AXMOV BX,2000H ;定义数据地址MOV AX,55AAH ;置常数为55AAMOV CX,03FFH ;置字节数CXRAMW1:MOV DS:BX,AXADD BX,0002HLOOP RAMW1 ;一直写到字节数为

37、0MOV AX,2000HMOV SI,AX ;置源数据区地址MOV AX,3000HMOV DI,AX ;置目的数据区地址MOV CX,03FFHCLD ;确定地址变化方向REP MOVSB ;写数据到目标数据区JMP $CODE ENDSEND START传送文件到指定的位置(不用输入,直接在DVCCH8EXEH812S.EXE)。在“动态调试”菜单栏中,选择“传送EXE文件”,单击传送到指定地址。然后可以分别使用单步、断点等方法运行程序。用存储器读写方法检查2000H2300H中的内容应都是55AA。1.4.4 系统操作练习(2)单机运行单机时,实验程序起始地址为F000:9700。在系

38、统显示监控提示符“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位显示寄存器的名,此时:按NEX

39、T键,则依次循环显示下一个寄存器中的内容;按LAST键,则依次显示上一个寄存器的内容;键入16进制的数据,则修改该寄存器的内容;按MON键,则返回系统。寄存器代号和寄存器名的对应关系如下:0123456789ABCDAXBXCXDXSPBPSIDICSDSSSESIPFL3. 单步运行操作:有三种状态都可以进入单步操作(段地址固定为0000H)在监控系统提示符“P.”下,按STEP键,从默认的起始地址IP=1000H单元开始运行每一条语句;在储存单元读写状态(右边2位显示内容的状态)下,从当前存储器地址开始单步运行;先输入4位起始地址,在按STEP键,在从输入地址处开始运行。每运行一条语句,显

40、示器显示下一条指令语句的地址和内容。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键,再程序执行到断点停下来,并显示断点地址和内容,同时保护寄存器的值。分别使用上述方法运行运行程

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教育教学 > 成人教育


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号