欢迎来到天天文库
浏览记录
ID:26399378
大小:220.00 KB
页数:10页
时间:2018-11-26
《微机原理实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
.WORD完美格式. 实验一、DEBUG调试软件的使用 一、实验目的 1.熟练掌握DEBUG的常用命令,学会用DEBUG调试程序。2.了解数据在存储器中的存取方法以及堆栈中数据的压入与弹出。3.掌握各种寻址方式以及简单指令的执行过程。4.掌握变量和标号的处理,数值的默认进位制。 二、实验内容 1.设堆栈指针SP=2000H,AX=3000H,BX=5000H;利用堆栈实现将AX,BX的内容交换。用DEBUG进行汇编和调试。1.1 DEBUG的主要命令 DEBUG是为汇编语言设计的一种调试工具,它通过单步、设置断点等方式为汇编语言程序员提供了非常有效的调试手段。一.进入DEBUG状态二.DEBUG的命令 1.汇编命令A 该命令允许键入汇编语言语句,并能把它们汇编成机器代码,相继地存放在从指定地址开始的存储区中。注意:汇编程序默认的数据是十进制,而DEBUG默认的数据是16进制,即DEBUG中没有二进制、八进制及十进制,只有16进制。汇编命令格式为:-A?[段地址]:[偏移地址]说明:[]表示可选项,若未指定地址,则默认地址为CS:0100H。例:用汇编语言编写一个简单的加法程序。输入的汇编指令有语法错误的,将提示“error”,再重新输入正确指令即可。若程序输入完毕,发现某条指令输入错误,比如第三条语句输入有误,就从该指令的偏移地址开始汇编(即-A106)。如果新输入的指令所占用的内存空间跟旧指令一样,修改完回车退出汇编即可;如果新输入的指令所占用的内存空间比旧指令少,可在多余的内存空间输入“NOP(空操作,占一字节)”指令;如果新输入的指令所占用的内存空间比旧指令多,就必须将后面的所有指令重新输入。思考:汇编程序时,偏移地址为何不是连续的,它是如何变化的?(参考第6小点) 2.命名命令N 读(L)/写(W)程序前,必须先命名,即该命令结合读(L)/写(W)命令使用。(参阅4、5)例:-NEX1;给程序文件命名为EX1。 3.检查和修改寄存器命令R 4.写盘命令W W命令没有任何参数时,与命令N配合使用进行写操作,使用W命令前在BX:CX中应写入文件的字节数。CX的最大值是0FFFFH,即文件超过64K,低字放CX,高字放BX寄存器。 5.读盘命令L 格式为:-L[地址] 该命令装入指定文件到内存,如未指定地址,则装入CS:100开始的存储区中。反汇编,显示程序??读取文件还可以在DOS状态,输入DEBUG后接着输入文件名,如E:TANGDU>DEBUG?EX1,进入DEBUG状态的同时即把EX1文件装入内存,等同于前两条命令。.技术资料.专业整理. .WORD完美格式. 6.反汇编命令U ASCII码所组成的助记符转换成机器码的过程称为“汇编”(命令A),“反汇编”(命令U)即将内存中的机器码翻译成助记符的过程。格式为:a.U[地址] ;从指定地址开始,反汇编32字节b.U[地址范围] ;对指定范围内的存储单元进行反汇编 7.跟踪命令(单步执行命令)T 格式为:a.T ;从当前的CS:IP开始执行一条指令,并显示所有寄存器的内容 8.运行命令G 格式为:G[=起始地址][断点地址]?如不指定地址,则从CS:IP开始运行例:-G????;不带参数时,特别要注意IP的值。运行前可使用R命令查看IP的值,如果运行了程序之外一些非指令的随机数,容易造成死机的后果。 9.修改存储单元内容命令E?(参阅10) 10.显示存储单元内容命令 注意:在DOS环境,应关闭所有运行程序,退回DOS提示符状态“>”才能关机。 1.2 DEBUG调试软件的使用 编写程序: 从3000H单元地址开始传送10个数据到4000H地址开始的单元中。 实验报告要求:写出以上三个实验内容的运行步骤、相关程序以及执行的结果或现象。 实验三、给出若干个数据,求其中的最大值和最小值一.实验目的1.掌握无符号数和有符号数条件转移指令的使用。2.掌握指针的移动和循环程序设计的方法。二.实验内容:用EDIT编写出源程序,将其汇编、连接成一个可执行文件,用DEBUG来调试。可发挥部分:将数据排序。三.实验报告要求:1.实验目的;2.实验内容;3.实验程序,程序必须有必要的注释;4.实验结果、数据或现象分析;5.实验思考题、实验的心得体会及对本实验的意见或建议。四、编写程序:D:>EDIT文件名.ASM.技术资料.专业整理. .WORD完美格式. 实验三、给出若干个数据,求其中的最大值和最小值一.实验目的1.掌握无符号数和有符号数条件转移指令的使用。2.掌握指针的移动和循环程序设计的方法。二.实验内容:用EDIT编写出源程序,将其汇编、连接成一个可执行文件,用DEBUG来调试。可发挥部分:将数据排序。三.实验报告要求:1.实验目的;2.实验内容;3.实验程序,程序必须有必要的注释;4.实验结果、数据或现象分析;.技术资料.专业整理. .WORD完美格式.5.实验思考题、实验的心得体会及对本实验的意见或建议。四、编写程序:D:>EDIT文件名.ASM 实验四、基本I/O接口电路实验一.实验目的1.掌握无符号数和有符号数条件转移指令的使用。2.掌握指针的移动和循环程序设计的方法。二.实验内容:用EDIT编写出源程序,将其汇编、连接成一个可执行文件,用DEBUG来调试。可发挥部分:将数据排序。三.实验报告要求:1.实验目的;.技术资料.专业整理. .WORD完美格式.2.实验内容;3.实验程序,程序必须有必要的注释;4.实验结果、数据或现象分析;5.实验思考题、实验的心得体会及对本实验的意见或建议。四、编写程序:D:>EDIT文件名.ASM 实验五、地址译码电路实验一.实验目的1.掌握无符号数和有符号数条件转移指令的使用。2.掌握指针的移动和循环程序设计的方法。二.实验内容:用EDIT编写出源程序,将其汇编、连接成一个可执行文件,用DEBUG来调试。可发挥部分:将数据排序。三.实验报告要求:.技术资料.专业整理. .WORD完美格式.1.实验目的;2.实验内容;3.实验程序,程序必须有必要的注释;4.实验结果、数据或现象分析;5.实验思考题、实验的心得体会及对本实验的意见或建议。四、编写程序:D:>EDIT文件名.ASM 实验五、地址译码电路实验一.实验目的1.掌握无符号数和有符号数条件转移指令的使用。2.掌握指针的移动和循环程序设计的方法。二.实验内容:用EDIT编写出源程序,将其汇编、连接成一个可执行文件,用DEBUG来调试。可发挥部分:将数据排序。.技术资料.专业整理. .WORD完美格式.三.实验报告要求:1.实验目的;2.实验内容;3.实验程序,程序必须有必要的注释;4.实验结果、数据或现象分析;5.实验思考题、实验的心得体会及对本实验的意见或建议。四、编写程序:D:>EDIT文件名.ASM 实验七、8255并口控制器实验 一、实验目的: 1.掌握8255的典型应用电路接法。 2.掌握8255的工作方式及应用编程。 二、实验内容:.技术资料.专业整理. .WORD完美格式. 程序设计及运行: ①、开机,屏幕出现提示“MicrosoftWindows2000Professional. 从虚拟启动软盘启动。” 选择“从虚拟启动软盘启动” ②、再次出现提示“1.StartcomputerwithCD-ROMsupport. 2.StartcomputerwithoutCD-ROMsupport 3.ViewtheHelpfile.” 选择2.StartcomputerwithoutCD-ROMsupport 启动后出现提示:A:> ③、A:>E:;下划线处是要从键盘输入的命令 E:>CDTANGDUPIT-ASM ④、E:TANGDUPIT-ASM>CHECK。 使用CHECK程序查找到IOY0空间始地址为:H。 ⑤、编辑源程序:E:TANGDUPIT-ASM>EDIT程序名.ASM。 (注:以下是8255基本输入输出实验参考程序) IOY0EQUH AAEQUIOY0+0*4 BBEQUIOY0+1*4 CCEQUIOY0+2*4 MODEEQUIOY0+3*4 STACK1SEGMENTSTACK DW256DUP(?) STACK1ENDS CODESEGMENT ASSUMECS:CODE START:MOVDX,MODE;8255A初始化 MOVAL,82H OUTDX,ALNEXT:MOVDX,BB;8255A的B口读入数据 INAL,DX MOVDX,AA OUTDX,AL;将数据送至8255A的A口输出MOVAH,1;检测键盘有无按键 INT16H JZNEXT;无按键,转NEXT MOVAH,4CH;有按键,则退回DOS INT21H CODEENDS ENDSTART.技术资料.专业整理. .WORD完美格式. ⑥、编译程序:E:TANGDUPIT-ASM>TASM程序名.ASM。 ⑦、连接程序:E:TANGDUPIT-ASM>LINK程序名.OBJ。 ⑧、运行程序:E:TANGDUPIT-ASM>程序名.EXE。 (注:以下是8255流水灯实验参考程序) IOY0EQUH AAEQUIOY0+0*4 BBEQUIOY0+1*4 CCEQUIOY0+2*4 MODEEQUIOY0+3*4 STACK1SEGMENTSTACK DW256DUP(?) STACK1ENDS CODESEGMENT ASSUMECS:CODE START:MOVDX,MODE;8255A初始化 MOVAL,80H OUTDX,AL MOVBL,80H;设置A口将要写入的初始数据 MOVBH,10H;设置B口将要写入的初始数据 NEXT:MOVDX,AA;8255A的A口写入数据 MOVAL,BL OUTDX,AL MOVDX,BB;8255A的B口写入数据 MOVAL,BH OUTDX,AL CALLDELAY RORBL,1;A口数据循环右移一位 ROLBH,1;B口数据循环左移一位 MOVAH,1;检测键盘有无按键 INT16H JZNEXT;无按键,转NEXT MOVAH,4CH;有按键,则退回DOS INT21H DELAYPROCNEAR;软件延时子程序 MOVCX,3FFH D1:MOVAX,0FFFFH D2:DECAX JNZD2 LOOPD1 RET DELAYENDP.技术资料.专业整理. .WORD完美格式. CODEENDS ENDSTART.技术资料.专业整理.
此文档下载收益归作者所有
举报原因
联系方式
详细说明
内容无法转码请点击此处