版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、微机原理实验指导书王建霞河北科技大学信息学院22005 年 3 月、/. 前言本指导书结合教材微型计算机原理及应用的内容以及本、专科生实验大纲的要求编制。软 件实验中给出了程序框图和主要程序清单。硬件实验中给出了硬件结构图及连线图。其中程序清单 仅仅是为了学生编程序时作为参考用的,学生在做实验前,必须充分预习,自己编制程序,才能准 予上机做实验。本指导书中除了大纲中规定必做的实验外,还给大家提供了一些有实用性的选做实 验。以满足课外自由实验上机学生的要求。本实验指导书内容较丰富、系统,除可以作为计算机专业大学本科实验指导书外,也可以作为 非计算机专业的研究生学习微型计算机的实验指导书,也可作为
2、各类型的微型计算机培训班的实验 指导书。本实验指导书由王建霞、靳玉福、陈义峰老师编写,因水平有限,难免有不足之处,请老师同 学多提宝贵意见。编者于 2005.3目录3实验一 Debug 练习及汇编语言程序的建立和运行.(4)实验二两个多位十进制数相加的实验.(11)实验三十进制数乘除运算编程. (15)实验四排序实验.(23)实验五系统认识实验.(30)实验六存储器扩展实验. (35)4实验一 Debug 练习及汇编语言程序的建立和运行一、预习内容用 debug 建立和运行汇编语言程序debug 是调试汇编语言程序的工具,它不仅能跟踪程序的运行,还可显示修改内存与寄存器内 容,以便在调试程序中
3、检查程序,找错,改错;它还支持小汇编,直接对小段程序进行汇编;也可 对盘进行读写操作。 但debug 不宜汇编较长的程序, 不便于分块程序的设计, 不能使用绝大多数 ASM 和 MASM 提供的伪指令。debug 的进入是 DOS 状态下键入 debug 文件名,便进入 debug 状态,在 debug 的提示符“” 下键入 debug 命令。Cdebug /debug 命令以单个字母的命令符开头,然后是命令操作参数,操作参数与操作参数之间,用空 格或逗号分开,操作参数与命令符之间用空格隔开,命令的结束符是回车键/。命令及参数的输入 可以是大小写的结合,CtrL +break 键中止命令的执行
4、。 debug 下所用的数均为十六进制数,且不必 写 H 。debug 的常用命令有:1汇编命令 A格式:A : (2)A: (3)A(4)A 功能:键入该命令后显示段地址和位移并等待用户从键盘逐条键入汇编命令,逐条汇编成代码指令, 直到显示下一地址时用户直接键入回车键返回到提示符“”。其中 (1)用指定寄存器内容作段地址, (3)用 CS 内容作段地址, (4)用 CS:0100 作地址。以后其它命令中提及的各种“地址”形式,均为(1)、(2)、(3)中 A 后的地址形式。2反汇编命令 U格式 1 : U 格式 2: U 功能:将指定范围内的代码以汇编语句形式显示,同时显示地址及代码。注意,
5、反汇编时一定确认指令的起始地址后再作,否则将得不到正确结果。地址及范围的缺省值是上次 U 指令后下一地 址的值。这5样可以连续反汇编。3显示内存命令格式:(1) D地址;以 CS 为段寄存器(2) D 地址范围 (3) D;显示 CS:0100 起始的一片内容。功能:以两种形式显示指定内存范围内容。一种形式为十六进制内容,一种形式为相应字节的ASCII 码字符,对不可见字符以“ ”代替。4修改内存命令 E格式:E地址 单元内容(2) E地址 单元内容表功能: (1)将指定内容写入指定单元后显示下一地址,可连续键入修改内容,直到新地址出现 后键入/为止。(2) 将单元内容表 逐一写入由 地址 开
6、始的一片单元。5填充内存命令 F格式: F 地址范围 单元内容表 功能:将单元内容表中的值逐个填入指定范围,单元内容表中内容用完后重复使用。例如: F 12FF: 00000100 A/D 12FF: 00000100 /6显示并修改寄存器命令 R格式 1:R格式 2:R寄存器名功能: 格式 1 显示当前所有寄存器内容, 状态标志及将要执行的下一指令的地址, 代码及汇编 语句格式。其中对状态标志 FLAG 以每位的形式显示。格式 2 显示指定寄存器内容。例如: R IP /7单步执行并显示系统环境T6格式: T= 地址 条数 功能: 地址 的缺省值是当前 IP 值, 条数 的缺省值是一条。执行
7、由指定地址起始的 条数 指定的若干条指令。例如: T ;执行当前指令并显示状态7T10 ;从当前指令始执行 10H 条指令。8 连续执行命令G格式: (1)G= (2)G;从 IP 指向的地址开始执行程序到结束地址。9退出 debug 命令 QQ /;进入 DOS 状态下C例如: 利用串操作传送指令将 0FFH 送入附加段的 0180H 开始的 128 个字节存储单元中, 段程序。N L1进入 DEBUG 状态CDEBUG /2用 A 命令编辑源程序A /XXXX:0100MOVDI ,0180/0103MOVCX,80/0106MOVAL,FF/0108REPSTOSB /010AHLT/0
8、10B/3.用 U 命令反汇编以上源程序一 U CS:0100/编写XXXFX:0100BF8001MOV DI,0180XXXX:0103B98000MOV CX,0080XXXX:0106 BOFFXXXX:0108 F3XXXX:0109 AAMOV AL,FFREPESTOSB85.用 R 命令观察程序未执行前,程序中各有关寄存器内容,并填入括号内。一 R /AL= ()DI= ()CX= () DS=( )CS= ()IP=()6.用 D 命令观察程序未执行前,存放结果的存储区的内容。D ES:0180/7. 用 T 命令执行一条指令,观察 DI 寄存器内容的变化,并填入此值:T /
9、DI= ( ) IP=( )CS=( )8. 用 T 命令一条条执行程序,并观察相应寄存器内容或存储单元内容,一直执行到最后一条指 令为止。9. 用 D 命令观察最终结果D ES: 0180/此时可观察到 ES:0180ES:01FF 单元中的内容已全部改为 FF。10. 用 R 命令改变 IP 值,使它返回到程序的第一条指令处。R IP /IPXXXX:0100 /11. 用 R 命令以观察 IP 值;已改为 0100R /12. 用 A 命令对存储数据的缓冲区改变位置A 0100/XXXX:0100 MOV DI,0200/xxxx:0103/13. 用 D 命令观察程序执行前,存储区的内
10、容D ES: 0200/14. 用 G 命令设置断点为 HLT 指令处G 010A/XXXX:010A F4HLT4.若源程序有错可返回第2 步用 A 命令进行修改,再进行第3 步。若无错误,可运行程序。915. 再用 D 命令观察执行结果D ES: 0200/10将会观察到 ES:0200ES:027F 的内容改变为 FF。二、可执行文件的生成1.在 DOS 状态下键入 EDIT 文件名,便进入全屏幕编辑状态。例如:CEDIT TEST. ASM /CODE SEGMENTASSUME CS:CODE,DS:CODESTART :MOV AX,CODEMOV DS,AXMOV DX,OFFS
11、ETAAMOV AH,09INT 21HMOV AH,4CHINT 21HAA :DB HOW ARE YOU $ CODEENDSEND START2汇编源程序用汇编程序对源程序进行汇编生成机器能够识别的机器语言,即生成了目标文件(*. obj)。汇编的结果给出了程序的错误语句,可以根据错误提示修改源程序。其操作步骤如下:CMASM /Microsoft(R)MacroAssembler Version5.0Copyright(c)MicrosoftCorp 1981 1985,1987ALL rights reservedSourcefilename.ASM test/Objectfile
12、nametest.obj:/SourceListingNUL.LST:/CrossreferenceNUL.CRF:/51736+405848 bytes Symbol Space free0 warning errors110 severe errors汇编的对象是用户编写的汇编语言源程序, 它必须是以 ASM 为扩展名。 汇编程序的输出文件有 三个,第一个目标文件,它以 OBJ 为扩展名,产生 OBJ 文件是我们进行汇编操作的主要目的;第二 个是列表文件,它以 LST 为扩展名,列表文件同时给出源程序和机器语言程序,从而可以使调试变 得方便,列表文件是可有可无的,如不要,直接键入回车键即可
13、,如需要,则打入文件名和回车; 第三是交叉符号表,此表给出了用户定义的所有符号,对每个符号都列出了将其定义的所在行号和 引用的符号, 并在定义行号上加 “ #”号,同列表文件一样, 交叉符号表为调试工作带来很大的方便。 交叉符号表也是可有可无的, 如不需要, 那么在屏幕上出现提示信息 NUL.CRF: 时, 打入回车即可。汇编过程结束时,会给出源程序中的警告性错误 warning Errors 和严重错误 severe Errors ,前 者指一般性错误,后者指语法性错误,当存在这两类错误时,屏幕上除指出错误个数表外,还给出 错误信息代号和错误所在的行号。 如果汇编过程中有错误, 则程序员应该
14、重新用编辑命令进行修改, 再进行汇编,最终直到汇编正确通过。要指出的是汇编过程只能指出源程序中的语法错误,并不能 指出算法错误和其它错误。3用 Link 命令产生可执行文件 (*.EXE 文件 )汇编过程根据源程序产生二进制的目标文件 (OBJ 文件 ),但 OBJ 文件用的是浮动地址,它不能 直接上机执行。所以还必须使用链接程序 (LINK) 将 OBJ 文件转换成可执行的 EXE 文件。 Link 命令 还可以将一个目标文件和其它多个模块(这些模块是由用户编写的,也可以是某个程序库中存在的)链接起来。具体操作如下:CLi nk TEST /此时屏幕上见到如下回答信息:IBM Persona
15、l computer LinkerVersion 2.00(C)copyright IBM Corpl981,1982,1983RUN Filetest . EXE : /List FileNUL.MAP:test /Libraries.LiB :/Waming:1 NO Stack segmentthere was 1 error detectedLink 命令有一个输入文件,即 OBJ 文件,有时,用户程序用到库函数,此时,对于提示信息 Libraries.LiB12要输入库名。 Link 过程产生两个输出文件, 一个是扩展名为 EXE 的执行文件, 产生此 文件是 Link 过程的主要目
16、的,另一个是扩展名 MAP 的列表分配文件,有人也称它为映像文件,它 给出每个段在内存中的分配情况MAP 文件也是可有可无的。4程序执行Ctest /如果运行结果不正确可把test.exe 文件装入 debug 进行调试,发现错误并改正。Cdebug test.exe /U /三、实验设备硬件环境 IBM/PC 及其兼容机软件环境 操作系统 DOS2.0 版本以上调试程序 DEBUG.COM 编辑程序 EDIT.EXE汇编程序 MASM.EXE 连接程序 LINK.EXE四、实验内容 (1)1.将数据段中 0200H字节存储单元中的二位BCD 码转换为二个 ASCII 码送 0201H 开始的
17、二个字节单元中,编写一段程序。2编写一段程序,在内存中自0200H地址开始的连续七个单元中存入09 的平方值。要求利用计算法查表求 0210H单元中指定数 09 中的任意一数的平方值,并将所求平方值存入0211H单元中。五、实验内容 (2)1显示一个字符A2.从键盘上读取一个字符并显示3间隔 0.5 秒显示 8 个A13实验二两个多位十进制数相加的实验一、实验目的1学习数据传送和算术运算指令的用法。2.熟悉在 PC 机上建立、汇编、连接、调试和运行8088/8086 汇编语言程序的过程。二、实验内容将两个多位十进制数相加。要求被加数均以ASCII 码形式各自顺序存放在以DATAI 和 DATA
18、2为首的 5 个内存单元中(低位在前),结果送回 DATAI 处。三、程序框图四、程序清单14CRLF MACRO;建立宏指令 CRLFMOVDL,0DHMOVAH,02HINT21HMOVDL,0AHMOVAH,02HINT21HENDMDATA SEGMENTDATA1 DB 33H,39H,31H,37H,34H ; 第一个数据 (作为被加数 )DATA2 DB 36H,35H,30H,38H,32H ; 第二个数据 (作为加数 )DATA ENDSSTACK SEGMENT ;堆栈段STADB20 DUP(?)TOPEQU LENGTH STASTACK ENDSCODE SEGMEN
19、TASSUME CS :CODE,DS:DATA ,SS: STACK , ES: DATASTART: MOV AX,DATAMOV DS,AXMOV AX,STACKMOV SS,AXMOV AX,TOPMOV SP,AXMOV SI,OFFSET DATA2MOVBX,05CALLDISPL;显示被加数CRLFMOVSI,OFFSET DATAlMOVBX , 05;显示加数CALLDISPL15CRLFMOVDI,OFFSET DATA2CALLADDA;加法运算MOVSI,OFFSET DATAlMOVBX,05; 显示结果CALLDISPLCRLFMOVAX,4C00HINT21H
20、DISPLPROCNEAR;显示子功能DS1:MOVAH,02MOVDL , SI+BX 1 ;显示字符串中一字符INT21HDECBX;修改编移量JNZDSlRETDISPLENDPADDAPROCNEARMOVDX,SIMOVBP,DIMOVBX,05AD1:SUBBYTE PTRSI+BX - 1, 30HSUBBYTE PTRDI+BX - 1 , 30HDECBX ; 将 ASCII 码表示的数字串转化为十六进制的数字串JNZADlMOVSI,DXMOVDI,BPMOVCX,05 ;包括进位,共 5 位CLC16AD3: ADDBYTE PTRSI+BX - 1,30HADDBYTE
21、 PTRDI+BX - 1,30HDEC BX ;十六进制的数字串转化为 ASCII 码表示的数字串JNZ AD3RETADDA ENDPCODE ENDSEND START五、思考题自编两个多位十进制数相减程序。AD2: MOV AL,SIMOV BL,DIADC AL,BLAAAMOV SI,ALINCSIINCDILOOP AD2MOV SI,DXMOV DI,BPMOV BX,05;带进位相加;非组合 BCD 码的加法调整;结果送被加数区;指向下一位;循环17实验三十进制数乘除运算编程(1)两个数相乘的实验一、实验目的掌握乘法指令和循环指令的用法二、实验内容实现十进制数的乘法。 被乘数
22、和乘数均以 ASCII 码形式存放在内存中, 乘积在屏幕上显示出来。三、程序框图18四、程序清单DATASEGMENTDATAIDB32H,39H,30H,35H,34HDATA2DB33HRESULTDB6 DUP(OOH)DATAENDSSTACKSEGMENTSTADB20 DUP(?)TOPEQULENGTH STASTACKENDSCODESEGMENTASSUMECS: CODE , DS: DATA , SS: STACK ,ES: DATASTART:MOVAX,DA TAMOVDS,AXMOVAX,STACKMOVSS,AXMOVAX,TOPMOVSP,AXMOVSI,OFF
23、SET DATA2MOVBL,SI;乘数 2;BLANDBL,00001111B;屏蔽高 4 位,ASCII 码转化为十六进制数MOVSI,OFFSET DATAlMOVDI,OFFSET RESULTMOVCX,05LOOPI :MOVAL,SIANDAL,00001111B;取被乘数 1, ASCII 变十六进制数INCSI;指向被乘数 1 的下一子符单兀MULBL;相乘;AAM 调整AAM19ADDAL,DI;结果低位与前次计算的进位相加AAA;AAA 调整MOVDI,ALINCDI;结果送存到下一单元MOVDI , AHLOOPLOOP1;计算机结果高位进位送存MOVCX,06MOVS
24、I,OFFSET RESULTDISPL :MOVAH,02MOVDL ,SIADDDL,30HINT21HDECSILOOPDISPL;显示结果MOVAX,4C00HINT21H;结束CODEENDSENDSTART20(2) BCD 码相乘的程序、实验目的掌握用组合的 BCD 码表示数据,并熟悉怎样实现组合BCD 码乘法运算二、实验内容实现 BCD 码的乘法,要求被乘数和乘数以组合的BCD 码形式存放,各占一个内存单元。乘积存放在另外两个内存单元中。BCD 码乘法指令,程序中采用将乘数 1 作为计数器,累加另一个乘数的方法得到计算结果。三、程序框图由于没有组合的21四、程序清单DISPLM
25、ACROADDDL , 30HMOVAH , 02INT21HENDMCRLFMACROMOVDL,0DHMOVAH,02INT21HMOVDL,0AHMOVAH,02INT21HENDMDATASEGMENTDATAlDB01001000B;48HDATA2DB01110101B;75HRESULTDW?DATAENDSSTACKSEGMENTSTADB20 DUP(?)TOPEQULENGTH STASTACKENDSCODESEGMENTASSUMECS:CODE,DS:DA TA,SS:STACK,ES:DA TASTART :MOVAX,DA TAMOVDS,AXMOVAX,STAC
26、KMOVSS,AXMOVAX,TOPMOVSP,AXMOVDI,OFFSET RESULT;指向结果存储区MOVSI,OFFSET DATAl;指向乘数 122S1:MOVAH,SIMOVCL,04SHRAH,CL;显示乘数 1 高位字节MOVDL,AHDISPLMOVAL,SIMOVBL,AL;显示乘数 1 低位字节ANDAL,00001111BMOVDL,ALDISPLCRLF;回车换行MOVSI,OFFSET DATA2 ;指向乘数 2MOVAH,SIMOVCL,04SHRAH,CL;显示乘数 2 高位字节MOVDL,AHDISPLMOVAL,SIANDAL,00001111BMOVDL
27、,AL;显示乘数 2 低位字节DISPLCRLF;回车换行XORDX,DX;DX( 部分积 )清 0CMPBL,0JZS2;乘数 1 的值已减为 O 否?CLCMOVAL,SIADCAL,DL;乘数 2 加部分积低位DAA;组合的 BCD 码调整MOVDL,AL;结果送部分积高位23MOVAL,00HADCAL,DH;往部分高位送进位DAA;组合 BCD 码调整MOVDH,AL;结果送部分积高位MOVAL,BLDECAL;乘数 1 的值减 1DAS;组合 BCD 码减法调整MOVBL,AL; 结果送 BLJMPS1S2:MOVRESULT ,DX ;结果送存储器MOVSI,DXMOVCL,4S
28、HRDH,CLMOVDL,DHDISPLMOVDX,SI;显示结果高 2 位ANDDH,00001111BMOVDL,DHDISPLMOVDX,SIMOVCL,4SHRDL,CLDISPLMOVDX,SI;显示结果低 2 位ANDDL,00001111BDISPLCRLF;回车换行S3:MOVAX,4C00HINT21H;返回 DOSCODEENDS24、实验目的掌握用汇编语言编写的程序的思路和方法。二、实验内容开始存放 50 个数,要求设计程序将这些数由小到大排序,排序后的数,仍放在该区域中。ENDSTART实验四排序实验三、程序框图从首地址为 1000H25四、程序清单CRLFMACROM
29、OVAH,02HMOVDL,0DHINT21HMOVAH,02HMOVDL,0AHINT21HENDMDATASEGMENT(a)26MOVDX,OFFSET MESS2INT21H;提示信息 2CALLGETNUMMOVSI,DX;键入偏称量送 SIPUSHESPOPDS;ESTDSMOVCX , SORTNUM;排序数的长度SORTNUMEQU9MESSlDBINPUT SEGMENT V ALUE : $MESS2DBINPUT OFFSET VALUE :$MESS3DB SORT OK! ODH , 0AH$DRRORDBINPUT ERROR! ,0DH,0AH,$DATAENDS
30、STACKSEGMENTSTADW32 DUP(?)TOPDW?STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:DA TA,SS:STACKSTART :MOVAX,DA TAMOVDS,AXMOVES,AXMOVSP,TOP;初始化MOVAH,09HMOVDX,OFFSET MESSl; 提示信息 1INT21HCALLGETNUMMOVES,DXCRLFMOVAH,09H;键入段址送 BS27DECCX;外循环次数XORBX,BX;偏移指针清 0川:MOVAL,SI+BX ;取数MOVAH,BL ;AH 为交换单元指针PUSHCXMOVCX,SOR
31、TNUMSUBCX,BXDECCX;计算内循环次数MOVDX,BX ; 初始化内循环控制变量JJJ:INCDX;内循环控制变量值增 1PUSHBX;入栈保存MOVBX , DXCMPAL , SI+BXJBEUUU ;若 AL 较小,则不必交换,转UUUMOVAL , SI+BXMOVAH ,DL ;置 AL 为新的最小值并修改AH 指针UUU:POPBXLOOPJJJ;内循环MOVCL,SI+BXMOVSI+BX,ALMOVDL,AHPUSHBXMOVBX , DXMOVSI+BX,CLPOPBX;交换INCBX;偏移量加 1POPCXLOOPIII;外循环PUSHDSMOVAX , DAT
32、A28MOVDS,AX ; 重置 DS 使其指向 DATA 段MOVAH,09HMOVDX , OFFSET MESS3INT21H;显示 SORT OK :POPDSMOVCX,SORTNUMVVV:MOVAL ,SICALLDISPlCRLFINCSILOOPVVV ; 将排序后的数显示出来MOVAX , 4C00HINT21H;返回 DOSDISPlPROCNEAR ;显示子程序 ,显示 AL 寄存器的内容PUSHCXMOVBL,ALMOVDL,BLMOVCL,04ROLDL,CLANDDL,0FHCALLDISPLMOVDL,BLANDDL,0FHCALLDISPLPOPCXRETDI
33、SPlENDPDISPLPROCNEARADDDL,30HCMPDL,3AH29JBDDDADDDL,27HDDD :MOVAH,02HINT21HRETDISPLENDP;参见数值显示实验程序清单GETNUMPROCNEAR ; 子程序,将键入字符转化成十六进制数送 DXPUSHCXXORDX,DXGGG:MOVAH,01HINT21HCMPAL,0DHJZPPPCMPAL,20HJZPPPSUBAL,30HJBKKKCMPAL,0AHJBGETSCMPAL,11HJBKKKSUBAL,07HCMPAL,0FHJBEGETSCMPAL,2AHJBKKKCMPAL,2FHJAKKKSUBAL,
34、20H30GETS:MOVCL,04SHLDX,CLXORAH,AHADDDX,AXJMPGGGKKK:MOVAH , 09HMOVDX , OFFSET DRRORINT21HPPP:PUSHDXCRLFPOPDXPOPCXRETGETNUMENDP;参见字符匹配实验程序清单CODEENDSENDSTART31实验五 系统认识实验一、实验目的掌握 TDN86/5l 或 TDN86/88 教学系统的基本操作。二、实验设备TDN86/51 或 TDN86/88 教学实验系统一台三、实验内容及步骤1、系统认识实验 (1)(1)程序的输入与修改从 3500H 内存单元开始建立 0 15 共 16 个
35、数据。2、实验步骤a.使用串行通讯电缆将实验系统与PC 微机相连。b 将位于线路板右下角的系统状态选择开关拨至86 档(此操作仅针对 86/51 系统),开启实验系统。c.在系统软件所在目录下键入MD86 /,选择对应串口号,进入集成操作软件环境,出现系统提示符“ ”。按下 F1 功能键,进入全屏幕编辑界面。按 ALT+F 建立新文件 (NEW), 即可开始输入源程 序。实验程序及流程如下:STACKSEGMENT STACK; 8088 宏汇编程序DW 64 DUP (?):定义堆栈段STACKENDSCODESEGMENT;定义代码段ASSUME CS: CODESTART:MOVDI,
36、3500H;程序开始设数据区首址MOVCX,0010H;字节数送入 CX 中MOVAX , 0000HSAHFAl :MOVDI, AL;写入一字节,INCDI;修改地址指针32INCAX;修改数据DAA;十进制调整33d.输入程序后,按 F2 保存程序(规定扩展名为*.ASM),使用 ALT+X 返回集成软件环境。e.按 F2/,输入源程序名(省略扩展名,系统默认为.ASM),对源程序进行汇编,生成目标文件(*. obj)及错误信息文件(*.M)。若给出 LST 文件名则生成相应*.LST 文件。f 汇编无误后,按 F3/输入文件名对汇编生成的*.obj 文件进行连接,连接信息显示于屏幕上,
37、生成相应*.EXE 文件,即可执行文件。g.按 F5/,输入*.EXE 可执行文件名,填入程序段地址 CS: 0000/及偏移量地址 IP: 2000/,PC 开始将程序从磁盘装入到教学系统内存,提示装载完毕后使用U0000 : 2000/命令进行反汇编,检查程序是否正确装入。显示信息键入信息U2000 /2000BF0035 MOV DI, 3500U /2003B91000 MOV CX, 0010U /h.当发现源程序输入错误或需调整时,在调试界面下可用A 命令来修改,如修改 2000 句为 MOVDI, 3500 的操作如下:显示信息键入信息A2000 /0000:2000MOV DI
38、, 3500 /0000: 2003/(2)运行程序系统提供了单步运行、设断点运行、连续运行等方式,具体操作如下:a.单步运行:其操作如下表,每运行一条指令后会显示下一条待执行指令并以蓝底白字显示变化寄 存器的内容,A2 :JMPA2CODEENDS;代码段结束ENDSTART;程序结束LOOP Al;未填完转移34重复 T / (或按 F4 键)就可一步一步地运行,直至程序结束。b.连续运行:在“ ”提示符下键入 G=0000 : 2000/ (在系统默认段址 CS=0000 情况下也可直 接键入G=2000 / )可连续运行程序, 在运行过程中, 可通过 CTRL+C 终止程序运行, 返回
39、监控状 态: 也可通过 CTRL+S暂停程序运行,按任意键继续。c.断点运行:在程序中可用B 命令定义断点,系统规定至多定义10 个断点,例如;显示信息键入信息B /0:2009 /1:/上例中定义了 2009 地址为断点,每次键入 GB=0000:2000 程序连续运行至断点时,程序中断 并显示当前各寄存器内容。GB 是 G 命令的扩充,表示含断点连续运行程序,断点仅当系统复位时清除。(3) 内存单元内容的显示:使用 D 0000 : 3500 / 可 查看 3500H 350FH 单元中的内容是否为 0 15 共 16 个数。(4) 内存单元内容的修改:要若修改某一单元内容,可进行如下操作
40、,其中,“空格”键用于向待编辑单元的高地址方向移动地址,而“-”键则向反方向移动地址:用/来响应,就退出E命令。显示信息键入信息E3500/0000:3500 0001 space0000:350101space0000:350202-0000:350101/2系统操作练习(2)将内存 3500H 单元开始的 0 15 共 16 个数传递到 3600H 单元开始的数据区中。实验程序及流程如下:35STACK SEGMENT STACKDW 64 DUP (?)STACK ENDS36CODE SEGMENTASSUME CS: CODESTART:MOVSI,3500H;建立源地址指针MOVD
41、I,3600H;建立目标地址指针MOVCX,0008H;字数送入 CX 寄存器中A1:MOVAX,SI;取源数据一字送入 AX 中MOVDI,AX;将源数据送入目标地址单元中INCSI;修正指针INCSIINCDIINCDIDECCX;判断是否传送完毕JNZA1A2:JMPA2CODE ENDSEND START实验步骤:37(1)输入程序并检查无误,经汇编、连接后装入系统。E 3500 /,在 3500-3510 单元中分别送入 00、01、02。(3)G=0000 : 2000 /,运行以上程序,CTRL+C 中断,返回监控。D 3600 /,显示结果:360000 0102。38实验六
42、存储器扩展实验、实验目的I.学习掌握存储器扩展方法和存储器读/写。2.了解 6264RAM 特性。二、实验设备TDN86/51 或 TDN86/88 教学实验系统一台三、实验内容及步骤(一)系统中的存储器扩展单元1.6264RAM 介绍静态 RAM 是由 MOS 管组成的触发器电路,每个触发器可以存放1 位信息。只要不掉电,所储存的信息就不会丢失。因此,静态RAM 工作稳定,不要外加刷新电路,使用方便。但一般 SRAM的每一个触发器是由 6 个晶体管组成,SRAM 芯片的集成度不会太高,目前较常用的有6116(2KX8位),6264(8KX8 位)和 62256 ( 32KX8 位)。6264
43、RAM 有 8192 个存储单元,每个单元为 8 位字长。6264 的引脚如图 5-1 所示,WE、OE、CE1、CE2 的共同作用决定了芯片的运行方式,如表 5-1 所示。A0 A12地址线I/O0 I/O7双向数据线CE1片选线 1CE2片选线 2WE写允许线OE读允许线HC 123A忖217 WEAT :2623N.C一利Ai 324I,623加?226164“OEA,S21 Alfl920nJ 1019ISD、Dt 1217h Dj!-l-1316一ONO 15D、39图 5-16264 引脚40表 5-16264 运行方式WECE1CE2OE方式1/00 1/07XHXX未选中(掉电)高阻XXLX未选中(掉电)高阻HLHH输出禁止高阻HLHL读OUTLLHH写INLLHL写IN2.系统实验单元中的6264 线路图 5-2 实验单元中的 6264(二)存储器扩展实验(1)按图 5-3 所示实验线路编写程序,通过8255 产生适当的时序对 6264RAM 进行读/写。实验程序如下:41STACK SEGMENT STACKDW 64 DUP (?)STACK ENDSCODE SEGMENTASSUME CS: CODESTART:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 道路养护工程承包合同三篇
- 智能家居工程师的设计理念与技术要求
- 初三班主任期中工作总结耐心教导成功引领
- 垃圾处理站保安工作总结
- 汽车行业的美工工作总结
- 《汽车及配件营销》课件
- 《美容新术课件》课件
- 2023年四川省阿坝自治州公开招聘警务辅助人员辅警笔试自考题1卷含答案
- 2023年广东省湛江市公开招聘警务辅助人员辅警笔试自考题2卷含答案
- 2021年贵州省黔东南自治州公开招聘警务辅助人员辅警笔试自考题2卷含答案
- 35KV变电站地质勘察与施工方案
- 2024年中学科技教育工作总结样本(4篇)
- 2025年中国社会科学院外国文学研究所专业技术人员招聘3人历年管理单位笔试遴选500模拟题附带答案详解
- 国家开放大学电大本科《理工英语3》期末试题题库及答案1(试卷号:1377)
- 湖北省十堰市2023-2024学年高二上学期期末调研考试 物理 含答案
- 《现代控制理论》全套课件(东北大学)
- 专题21一次函数(原卷版+解析)
- 期末 (试题) -2024-2025学年人教PEP版英语六年级上册
- 山东师范大学《计算机网络》期末考试复习题及参考答案
- 旅行社公司章程53410
- 螺杆式制冷压缩机操作规程完整
评论
0/150
提交评论