微机原理实验.doc

上传人:11****ws 文档编号:3696400 上传时间:2019-07-06 格式:DOC 页数:10 大小:216.50KB
下载 相关 举报
微机原理实验.doc_第1页
第1页 / 共10页
微机原理实验.doc_第2页
第2页 / 共10页
微机原理实验.doc_第3页
第3页 / 共10页
微机原理实验.doc_第4页
第4页 / 共10页
微机原理实验.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、 实验一、DEBUG 调试软件的使用 一、实验目的1.熟练掌握 DEBUG 的常用命令,学会用 DEBUG 调试程序。 2.了解数据在存储器中的存取方法以及堆栈中数据的压入与弹出。 3.掌握各种寻址方式以及简单指令的执行过程。 4.掌握变量和标号的处理,数值的默认进位制。 二、实验内容 1.设堆栈指针 SP=2000H,AX=3000H,BX=5000H;利用堆栈实现将 AX,BX 的内容交换。用 DEBUG 进行汇编和调试。11 DEBUG 的主要命令 DEBUG 是为汇编语言设计的一种调试工具,它通过单步、设置断点等方式为汇编 语言程序员提供了非常有效的调试手段。 一进入 DEBUG 状态

2、 二DEBUG 的命令 1.汇编命令 A 该命令允许键入汇编语言语句,并能把它们汇编成机器代码,相继地存放在从指定地址 开始的存储区中。注意:汇编程序默认的数据是十进制,而 DEBUG 默认的数据是 16 进制, 即 DEBUG 中没有二进制、八进制及十进制,只有 16 进制。 汇编命令格式为: A? 段地址: 偏移地址 说明: 表示可选项,若未指定地址,则默认地址为 CS:0100H 。 例:用汇编语言编写一个简单的加法程序。输入的汇编指令有语法错误的,将提示“error”,再重新输入正确指令即可。 若程序输入完毕,发现某条指令输入错误,比如第三条语句输入有误,就从该 指令的偏移地址开始汇编

3、(即A 106)。如果新输入的指令所占用的内存空间跟 旧指令一样,修改完回车退出汇编即可;如果新输入的指令所占用的内存空间比旧 指令少,可在多余的内存空间输入“NOP(空操作,占一字节)”指令;如果新输入 的指令所占用的内存空间比旧指令多,就必须将后面的所有指令重新输入。 思考:汇编程序时,偏移地址为何不是连续的,它是如何变化的?(参考第 6 小点)2.命名命令 N读(L )/写(W)程序前,必须先命名,即该命令结合读(L)/写(W)命令使用。(参阅 4、5) 例:N EX1;给程序文件命名为 EX1。 3检查和修改寄存器命令 R4写盘命令 W W 命令没有任何参数时,与命令 N 配合使用进行

4、写操作,使用 W 命令前在 BX:CX 中应写 入文件的字节数。CX 的最大值是 0FFFFH,即文件超过 64K,低字放 CX,高字放 BX 寄存器。5读盘命令 L格式为: L 地址 该命令装入指定文件到内存,如未指定地址,则装入 CS:100 开始的存储区中。反汇编,显示程序? 读取文件还可以在 DOS 状态,输入 DEBUG 后接着输入文件名,如 E:TANGDU DEBUG? EX1 ,进入 DEBUG 状态的同时即把 EX1 文件装入内存,等同于前两条命令。6反汇编命令 UASCII 码所组成的助记符转换成机器码的过程称为“汇编”(命令 A),“反汇编”(命令 U) 即将内存中的机器

5、码翻译成助记符的过程。 格式为: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 环境,应关闭所有运

6、行程序,退回 DOS 提示符状态“” 才能关机。12 DEBUG 调试软件的使用 编写程序:从 3000H 单元地址开始传送 10 个数据到 4000H 地址开始的单元中。 实验报告要求: 写出以上三个实验内容的运行步骤、相关程序以及执行的结果或现象。 实验三、给出若干个数据,求其中的最大值和最小值一实验目的 1掌握无符号数和有符号数条件转移指令的使用。2掌握指针的移动和循环程序设计的方法。 二实验内容:用 EDIT 编写出源程序,将其汇编、连接成一个可执行文件,用 DEBUG 来调试。 可发挥部分:将数据排序。 三实验报告要求: 1. 实验目的; 2. 实验内容; 3. 实验程序,程序必须有

7、必要的注释;4. 实验结果、数据或现象分析;5. 实验思考题、实验的心得体会及对本实验的意见或建议。四、编写程序:D:EDIT 文件名.ASM实验三、给出若干个数据,求其中的最大值和最小值一实验目的 1掌握无符号数和有符号数条件转移指令的使用。2掌握指针的移动和循环程序设计的方法。 二实验内容:用 EDIT 编写出源程序,将其汇编、连接成一个可执行文件,用 DEBUG 来调试。 可发挥部分:将数据排序。 三实验报告要求: 1. 实验目的; 2. 实验内容; 3. 实验程序,程序必须有必要的注释;4. 实验结果、数据或现象分析;5. 实验思考题、实验的心得体会及对本实验的意见或建议。四、编写程序

8、:D:EDIT 文件名.ASM实验四、基本 I/O 接口电路实验 一实验目的1掌握无符号数和有符号数条件转移指令的使用。2掌握指针的移动和循环程序设计的方法。 二实验内容: 用 EDIT 编写出源程序,将其汇编、连接成一个可执行文件,用 DEBUG 来调试。 可发挥部分:将数据排序。 三实验报告要求: 1. 实验目的;2. 实验内容; 3. 实验程序,程序必须有必要的注释;4. 实验结果、数据或现象分析;5. 实验思考题、实验的心得体会及对本实验的意见或建议。 四、编写程序:D:EDIT 文件名.ASM实验五、地址译码电路实验一实验目的 1掌握无符号数和有符号数条件转移指令的使用。2掌握指针的

9、移动和循环程序设计的方法。 二实验内容:用 EDIT 编写出源程序,将其汇编、连接成一个可执行文件,用 DEBUG 来调试。 可发挥部分:将数据排序。三实验报告要求: 1. 实验目的;2. 实验内容;3. 实验程序,程序必须有必要的注释;4. 实验结果、数据或现象分析;5. 实验思考题、实验的心得体会及对本实验的意见或建议。四、编写程序:D:EDIT 文件名.ASM 实验五、地址译码电路实验一实验目的 1掌握无符号数和有符号数条件转移指令的使用。2掌握指针的移动和循环程序设计的方法。 二实验内容:用 EDIT 编写出源程序,将其汇编、连接成一个可执行文件,用 DEBUG 来调试。 可发挥部分:

10、将数据排序。三实验报告要求: 1. 实验目的;2. 实验内容;3. 实验程序,程序必须有必要的注释;4. 实验结果、数据或现象分析;5. 实验思考题、实验的心得体会及对本实验的意见或建议。四、编写程序:D:EDIT 文件名.ASM 实验七、8255 并口控制器实验 一、实验目的:1.掌握 8255 的典型应用电路接法。2.掌握 8255 的工作方式及应用编程。 二、实验内容:程序设计及运行:、开机,屏幕出现提示“Microsoft Windows 2000 Professional.从虚拟启动软盘启动。”选择“从虚拟启动软盘启动” 、再次出现提示 “ 1.Start computer with

11、 CD-ROM support.2. Start computer without CD-ROM support 3.View the Help file.”选择 2. Start computer without CD-ROM support 启动后出现提示:A: 、A:E: ;下划线处是要从键盘输入的命令 E:CD TANGDUPIT-ASM 、E: TANGDUPIT-ASMCHECK 。 使用 CHECK 程序查找到 IOY0 空间始地址为: H 。 、编辑源程序:E: TANGDUPIT-ASMEDIT 程序名.ASM 。 (注:以下是 8255 基本输入输出实验参考程序) IOY0

12、 EQU H AA EQU IOY0+0*4BB EQU IOY0+1*4CC EQU IOY0+2*4MODE EQU IOY0+3*4 STACK1 SEGMENT STACKDW 256 DUP(?)STACK1 ENDSCODE SEGMENTASSUME CS:CODESTART:MOV DX,MODE ;8255A 初始化 MOV AL,82HOUT DX,AL NEXT: MOV DX,BB ;8255A 的 B 口读入数据 IN AL,DXMOV DX,AAOUT DX,AL ;将数据送至 8255A 的 A 口输出 MOV AH,1 ;检测键盘有无按键 INT 16HJZ N

13、EXT ;无按键,转 NEXT MOV AH,4CH ;有按键,则退回 DOS INT 21HCODE ENDSEND START、编译程序: E: TANGDUPIT-ASM TASM 程序名.ASM 。 、连接程序: E: TANGDUPIT-ASM LINK 程序名.OBJ 。 、运行程序: E: TANGDUPIT-ASM 程序名.EXE 。 (注:以下是 8255 流水灯实验参考程序) IOY0 EQU H AA EQU IOY0+0*4BB EQU IOY0+1*4CC EQU IOY0+2*4MODE EQU IOY0+3*4STACK1 SEGMENT STACKDW 256

14、DUP(?)STACK1 ENDSCODE SEGMENTASSUME CS:CODESTART:MOV DX,MODE ;8255A 初始化 MOV AL,80HOUT DX,AL MOV BL,80H ;设置 A 口将要写入的初始数据 MOV BH,10H ;设置 B 口将要写入的初始数据 NEXT: MOV DX,AA ;8255A 的 A 口写入数据 MOV AL,BL OUT DX,ALMOV DX,BB ;8255A 的 B 口写入数据 MOV AL,BH OUT DX,AL CALL DELAY ROR BL,1 ;A 口数据循环右移一位 ROL BH,1 ;B 口数据循环左移一位 MOV AH,1 ;检测键盘有无按键 INT 16HJZ NEXT ;无按键,转 NEXT MOV AH,4CH ;有按键,则退回 DOS INT 21H DELAY PROC NEAR ;软件延时子程序 MOV CX,3FFHD1: MOV AX,0FFFFHD2: DEC AXJNZ D2LOOP D1 RETDELAY ENDPCODE ENDSEND START

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 1

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。