微机原理实验.docx

上传人:b****7 文档编号:23589113 上传时间:2023-05-18 格式:DOCX 页数:12 大小:98.74KB
下载 相关 举报
微机原理实验.docx_第1页
第1页 / 共12页
微机原理实验.docx_第2页
第2页 / 共12页
微机原理实验.docx_第3页
第3页 / 共12页
微机原理实验.docx_第4页
第4页 / 共12页
微机原理实验.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

微机原理实验.docx

《微机原理实验.docx》由会员分享,可在线阅读,更多相关《微机原理实验.docx(12页珍藏版)》请在冰豆网上搜索。

微机原理实验.docx

微机原理实验

 实验一、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文件装入内存,等同于前两条命令。

  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

              

              

实验三、给出若干个数据,求其中的最大值和最小值

一.实验目的

1.掌握无符号数和有符号数条件转移指令的使用。

2.掌握指针的移动和循环程序设计的方法。

二.实验内容:

用EDIT编写出源程序,将其汇编、连接成一个可执行文件,用DEBUG来调试。

可发挥部分:

将数据排序。

三.实验报告要求:

1.实验目的;

2.实验内容;

3.实验程序,程序必须有必要的注释;

4.实验结果、数据或现象分析;

5.实验思考题、实验的心得体会及对本实验的意见或建议。

四、编写程序:

D:

\>EDIT文件名.ASM

     

     

 实验四、基本I/O接口电路实验

一.实验目的

1.掌握无符号数和有符号数条件转移指令的使用。

2.掌握指针的移动和循环程序设计的方法。

二.实验内容:

用EDIT编写出源程序,将其汇编、连接成一个可执行文件,用DEBUG来调试。

可发挥部分:

将数据排序。

三.实验报告要求:

1.实验目的;

2.实验内容;

3.实验程序,程序必须有必要的注释;

4.实验结果、数据或现象分析;

5.实验思考题、实验的心得体会及对本实验的意见或建议。

四、编写程序:

D:

\>EDIT文件名.ASM

           

           

 

 实验五、地址译码电路实验

一.实验目的

1.掌握无符号数和有符号数条件转移指令的使用。

2.掌握指针的移动和循环程序设计的方法。

二.实验内容:

用EDIT编写出源程序,将其汇编、连接成一个可执行文件,用DEBUG来调试。

可发挥部分:

将数据排序。

三.实验报告要求:

1.实验目的;

2.实验内容;

3.实验程序,程序必须有必要的注释;

4.实验结果、数据或现象分析;

5.实验思考题、实验的心得体会及对本实验的意见或建议。

四、编写程序:

D:

\>EDIT文件名.ASM 

            

            

 实验五、地址译码电路实验

一.实验目的

1.掌握无符号数和有符号数条件转移指令的使用。

2.掌握指针的移动和循环程序设计的方法。

二.实验内容:

用EDIT编写出源程序,将其汇编、连接成一个可执行文件,用DEBUG来调试。

可发挥部分:

将数据排序。

三.实验报告要求:

1.实验目的;

2.实验内容;

3.实验程序,程序必须有必要的注释;

4.实验结果、数据或现象分析;

5.实验思考题、实验的心得体会及对本实验的意见或建议。

四、编写程序:

D:

\>EDIT文件名.ASM 

            

            

   实验七、8255并口控制器实验

  一、实验目的:

    1.掌握8255的典型应用电路接法。

    2.掌握8255的工作方式及应用编程。

 二、实验内容:

    

   程序设计及运行:

    ①、开机,屏幕出现提示“MicrosoftWindows2000Professional.

    从虚拟启动软盘启动。

    选择“从虚拟启动软盘启动”

    ②、再次出现提示“1.StartcomputerwithCD-ROMsupport.

                              2.StartcomputerwithoutCD-ROMsupport

                              3.ViewtheHelpfile.”

    选择2.StartcomputerwithoutCD-ROMsupport

    启动后出现提示:

A:

\>

    ③、A:

\>E:

;下划线处是要从键盘输入的命令

    E:

\>CDTANGDU\PIT-ASM

    ④、E:

\TANGDU\PIT-ASM>CHECK。

    使用CHECK程序查找到IOY0空间始地址为:

H。

    ⑤、编辑源程序:

E:

\TANGDU\PIT-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

   ⑥、编译程序:

E:

\TANGDU\PIT-ASM>TASM程序名.ASM。

   ⑦、连接程序:

E:

\TANGDU\PIT-ASM>LINK程序名.OBJ。

   ⑧、运行程序:

E:

\TANGDU\PIT-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

           CODEENDS

           ENDSTART

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

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1