微机原理实验指导一(共19页).doc
《微机原理实验指导一(共19页).doc》由会员分享,可在线阅读,更多相关《微机原理实验指导一(共19页).doc(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上一、系统认识实验1.1 实验目的掌握QASM轻松汇编(TD系列微机原理及接口技术教学实验系统)的操作,熟悉QASM(Wmd86联机集成开发调试软件)的操作环境。学习和掌握程序编写,汇编,调试的方法和技术。1.2 实验设备PC机一台,(TD-PITE实验装置或TD-PITC实验装置一套)。1.3 实验内容编写实验程序,将00H0FH共16个数写入内存03000H开始的连续16个存储单元中。1.4 实验步骤1. 进入QASM编程环境:将TDASM和ASMPRO文件夹复制到D盘根目录上,运行TDASM下的QASM,进入集成开发环境。2.输入汇编源程序:编写输入实验程序,如图
2、所示,并保存为A1,此时系统会提示输入新的文件名,输完后点击保存。可以用打开文件方式将以前保存的源程序调入。 程序编辑界面3. 程序的汇编与连接:点击,编译文件,若程序编译无误,则可以继续点击进行链接,链接无误后方运行调试程序。编译输出信息界面4 观察程序及变量分配:点击“交叉文件”,观察源程序代码与机器代码与存储形式。点击“汇编程序”返回汇编程序窗口。操作练习:1、对上述程序进行观察。看汇编源程序的指令与机器码指令的对应关系及程序存放形式。2、打开程序EX1,观察变量定义及存放关系。3、打开EX32,观察变量定义及内存分配。5集成调试环境的使用:单步执行:点击“调试”菜单下的“单步”,可以一
3、条一条的执行指令。查看修改寄存器:在调试过程中,可能通过调试窗口的“调试”选单,观察和修改CPU中寄存器的内容。查看变量和存储单元内容:在调试过程中,可能通过调试窗口的“查看”选单,可以添加要查看的存储单元或者变量的的内容。断点设置:在程序的对应指令行点击行号,可以设置程序断点(出现红色园点)。或者取消断点。连续运行:点击调试菜单下的“GO”,或让程序连续运行到断点处停止。操作练习:1、打开程序EX1,单步运行程序,观察寄存器及存储单元变化。并记录。3、打开EX32,观察变量定义及内存分配。单步运行程序,观察寄存器及存储单元变化。并记录。6TRUBODEBUGGER的使用:(详细说明见TRUB
4、ODEBUGGER一览表)进入TD:汇编连接完成后,点击“调试”菜单下的“TD。”可进入TRUBODEBUGGER调试环境。单步执行:点击“STEP”,可以一条一条的执行指令。查看修改寄存器:点击“VIEW”菜单下的“REGISTER”选单,可以观察和修改CPU中寄存器的内容。查看和修改变量单元内容:点击“VIEW”菜单下的“VARIABLE”选单,可以观察和修改变量单元的内容。查看和修改存储单元内容:点击“VIEW”菜单下的“DUMP”选单,可以观察和修改存储单元的内容。断点设置:在程序的对应指令行点击,再点击“BKPT”,可以在该得设置断点。连续运行:点击 “RUN”,让程序连续运行到断点
5、处停止。操作练习:1、打开程序A1,单步和设置断点运行程序,观察寄存器及存储单元变化。程序观察程序运行前后 0000:3000开始的十六个字节单元的数据。2、打开EX1,单步和设置断点运行程序,输入不同数,运行后检查变量X和XXX的值,并记录。3、编写程序,将内存0000:3500H单元开始的8个数据复制到0000:3600H单元开始的数据区中。通过调试验证程序功能。使用TD调试程序,先将0000:3500H单元写入8个数,然后运行程序,观察程序是否将数据复制到0000:3600H单元中。二、数制转换实验计算机与外设间的数制转换关系如图2-1所示,数制对应关系如表2-1所示。图2-1 数制转换
6、关系1操作练习:1、打开程序A1,单步和设置断点运行程序,观察寄存器及存储单元变化。程序观察程序运行前后 0000:3000开始的十六个字节单元的数据。2、打开EX1,单步和设置断点运行程序,输入不同数,运行后检查变量X和XXX的值,并记录。3、编写程序,将内存0000:3500H单元开始的8个数据复制到0000:3600H单元开始的数据区中。通过调试验证程序功能。使用TD调试程序,先将0000:3500H单元写入8个数,然后运行程序,观察程序是否将数据复制到0000:3600H单元中。2. 将ASCII码表示的十进制数转换为二进制数十进制表示为: (1)Di代表十进制数0,1,2,9;上式转
7、换为: (2)由式(2)可归纳十进制数转换为二进制数的方法:从十进制数的最高位Dn开始作乘10加次位的操作,依次类推,则可求出二进制数的结果。表2-1 数制对应关系表十六进制BCD码二进制机器码ASCII码七段码共阳共阴00000000030H40H3FH10001000131H79H06H20010001032H24H5BH30011001133H30H4FH40100010034H19H66H50101010135H12H6DH60110011036H02H7DH70111011137H78H07H81000100038H00H7FH91001100139H18H67HA101041H08
8、H77HB101142H03H7CHC110043H46H39HD110144H21H5EHE111045H06H79HF111146H0EH71H程序流程图如图2-2所示。实验参考程序如下。实验程序清单(例程文件名:A2-1.ASM)SSTACKSEGMENT STACKDW 64 DUP(?)SSTACKENDSDATASEGMENTSADDDB 30H,30H,32H,35H,36H ;十进制数:00256DATAENDSCODESEGMENTASSUME CS:CODE, DS:DATASTART:MOV AX, DATAMOV DS, AXMOV AX, OFFSET SADDMOV
9、 SI, AXMOV BX, 000AHMOV CX, 0004HMOV AH, 00HMOV AL, SISUB AL, 30HA1:IMUL BXMOV DX, SI+01图2-2 转换程序流程图AND DX, 00FFH ADC AX, DXSUB AX, 30HINC SILOOP A1A2:JMP A2CODE ENDS END START实验步骤(1)绘制程序流程图,编写实验程序,经编译、链接无误后装入系统。(2)待转换数据存放于数据段,根据自己要求输入,默认为30H,30H,32H,35H,36H。(3)在A2处设置断点,然后运行程序。(4)到断点后查看AX寄存器,即为转换结果,
10、应为:0100 。(5)数据区的数据修改为自己学号的后四位数据(如:03526),按照上面步骤运行程序,记录结果。(6)修改数据区数据,按照上面步骤运行程序,验证程序的正确性,记录结果。4. 将十进制数的ASCII码转换为BCD码从键盘输入五位十进制数的ASCII码,存放于3500H起始的内存单元中,将其转换为BCD码后,再按位分别存入350AH起始的内存单元内。若输入的不是十进制的ASCII码,则对应存放结果的单元内容为“FF”。由表2-1可知,一字节ASCII码取其低四位即变为BCD码。实验程序清单(例程文件名:A2-2.ASM)SSTACKSEGMENT STACK DW 64 DUP(
11、?)SSTACKENDS CODESEGMENTASSUME CS:CODESTART:XORAX,AXMOVDS,AXMOV CX, 0005H;转换位数MOV DI, 3500H;ASCII码首地址A1:MOV BL, 0FFH;将错误标志存入BLMOV AL, DICMP AL, 3AH JNB A2;不低于3AH则转A2SUB AL, 30HJB A2;低于30H则转A2MOV BL, ALA2:MOV AL, BL;结果或错误标志送入ALMOV DI+0AH,AL;结果存入目标地址INC DILOOP A1MOV AX,4C00HINT 21H;程序终止CODEENDSEND STA
12、RT实验步骤(1)自己绘制程序流程图,然后编写程序,编译、链接无误后装入系统。(2)在0000:3500H0000:3504H单元中存放五位十进制数的ASCII码,即: 31,32,33,34,35。(3)在MOV AX,4C00H指令处设置断点,运行程序到断点。(4)0000:350AH单元,显示运行结果,应为: 0000:350A 01 02 03 04 05 CC (5)反复测试几组数据,验证程序功能。5. 将十六位二进制数转换为ASCII码表示的十进制数十六位二进制数的值域为065535,最大可转换为五位十进制数。五位十进制数可表示为:Di:表示十进制数09将十六位二进制数转换为五位A
13、SCII码表示的十进制数,就是求D1D4,并将它们转换为ASCII码。自行绘制程序流程图,编写程序可参考例程。例程中源数存放于3500H、3501H中,转换结果存放于3510H3514H单元中。实验程序清单(例程文件名:A2-3.ASM)SSTACKSEGMENT STACKDW 64 DUP(?)SSTACKENDSCODESEGMENTASSUME CS:CODESTART:MOV SI,3500H;源数据地址MOV DX,SIMOV SI,3515H;目标数据地址A1:DEC SIMOV AX,DXMOV DX,0000HMOV CX,000AH;除数10DIV CX;得商送AX, 得余
14、数送DXXCHG AX,DXADD AL,30H;得Di的ASCII码MOV SI,AL;存入目标地址CMP DX,0000HJNE A1;判断转换结束否,未结束则转A1A2:CMP SI,3510H;与目标地址得首地址比较JZ A3;等于首地址则转A3,否则将剩余地址中填30HDEC SIMOV AL,30HMOV SI,ALJMP A2A3: MOV AX,4C00HINT 21H;程序终止CODE ENDSEND START实验步骤(1)编写程序,经编译、链接无误后,装入系统。(2)在3500H、3501H中存入0C 00。(3)运行程序,待程序运行停止。(4)检查运行结果,键入D351
15、0,结果应为:30 30 30 31 32。(5)可反复测试几组数据,验证程序的正确性。6. 十六进制数转换为ASCII码由表2.1中十六进制数与ASCII码的对应关系可知:将十六进制数0H09H加上30H后得到相应的ASCII码,AHFH加上37H可得到相应的ASCII码。将四位十六进制数存放于起始地址为3500H的内存单元中,把它们转换为ASCII码后存入起始地址为350AH的内存单元中。自行绘制流程图。实验程序清单(例程文件名为A2-4.ASM)SSTACKSEGMENT STACKDW 64 DUP(?)SSTACKENDSCODESEGMENTASSUME CS:CODESTART:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 实验 指导 19
限制150内