32位微机原理上机实验报告要点.docx

上传人:b****8 文档编号:9210906 上传时间:2023-02-03 格式:DOCX 页数:26 大小:108.94KB
下载 相关 举报
32位微机原理上机实验报告要点.docx_第1页
第1页 / 共26页
32位微机原理上机实验报告要点.docx_第2页
第2页 / 共26页
32位微机原理上机实验报告要点.docx_第3页
第3页 / 共26页
32位微机原理上机实验报告要点.docx_第4页
第4页 / 共26页
32位微机原理上机实验报告要点.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

32位微机原理上机实验报告要点.docx

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

32位微机原理上机实验报告要点.docx

32位微机原理上机实验报告要点

 

西北工业大学明德学院

实验报告

 

实验项目微机原理与接口应用实验

班级121204

姓名田家豪王辰硕

学号121566121567

指导老师伍明高

实验题目

(1)显示班级符号输出;

(2)显示学号符号输出;

(3)显示姓名符号输出;

(4)显示单个字符输出;

实验目的

1、掌握在PC机上以十六位进制形式显示数据的方法

2、熟悉汇编的调试环境和使用

实验内容

STACK1SEGMENTSTACK

DW256DUP(?

STACK2ENDS

DATASEGMENTUSE13

MES1DB‘121204’,0AH,0DH,‘$’

MES2DB‘121566’,0AH,0DH,‘$’

MES3DB‘TIANJIAHAO’,0AH,0DH,‘$’

MES4DB‘121204’,0AH,0DH,‘$’

MES5DB‘121567’,0AH,0DH,‘$’

MES6DB‘WANGCHENSHUO’,0AH,0DH,‘$’

SDDB‘A’

DATAENDS

MOVAH,09H

INT21H

MOVDX,OFFSETMES3

MOVAH,09H

INT21H

MOVDX,OFFSETSD

MOVAL,DS:

[SI]

ANDAL,0F0H

SHRAL,4

CMPAL,0AH

JBC2

ADDAL,07H

CODESEGMENTUSE13

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVDX,OFFSETMES1

MOVAH,09H

INT21H

MOVDX,OFFSETMES2

C2:

ADDAL,30H

MOVDL,AL

MOVAH,02H

INT21H

MOVAL,DS:

[DI]

ANDAL,0FH

CMPAL,0AH

JBC3

ADDAL,07H

C3:

ADDAL,30H

MOVDL,AL

MOVAH,02H

INT21H

MOVAX,4C00H

INT21H

CODEENDS

ENDSTART

实验步骤

(1)运行编译器,编译程序。

(2)单击编译,保存。

(3)单击调试程序,发现无误。

(4)运行程序。

实验总结

1.通过实验,熟悉了汇编语言编译环境,了解了程序的编译,运行和调试的方法

2.实验过程中,在调试的时候,各调试指令的用法十分复杂,需要不断练习,熟悉指令的运行目的。

3.不同的程序代码,在不同的环境运行方式也不同,这是我们必须要掌握的技能。

实验题目

显示程序实验

 

实验目的

(1)掌握在PC机上以十六进制形式显示数据的方法。

(2)掌握部分DOS功能调用使用方法。

(3)熟悉Tdpit集成环境和调试器的使用。

 

实验内容及说明

   一般来说,有很多程序需要显示输出提示运行的状况和结果,有的还需要将数据区中的内容显示在屏幕上。

本实验要求将指定数据区的数据以十六进制数形式显示在屏幕上,并通过DOS功能调用完成一些提示信息的显示。

实验中可使用DOS功能调用(INT21H)。

(1)显示单个字符输出

入口:

AH=02H

调用参数:

DL=输出字符

(2)显示字符串

入口:

AH=09H

调用参数:

DS:

DX=串地址,’$’为结束字符

(3)键盘输入并回显

入口:

AH=01H

返回参数:

AL=输出字符

(4)返回DOS系统

入口:

AH=4CH

调用参数:

AL=返回码

 

实验步骤

(1)运行Tdpit软件,选择文件菜单,点击新建,进入一个源文件编辑界面。

根据实验内容的描述编写实验程序。

(2)使用编译菜单中的编译和链接对实验程序进行汇编、连接。

(3)使用编译菜单中的运行,运行程序,观察运行结果。

(4)使用编译菜单中的调试,调试程序,观察调试过程中,数据传输指令执行后,各寄存器及数据区的内容。

(5)更改数据区中的数据,检查程序的正确性。

 

程序如下:

DATASEGMENT

MESDB'Showaashex:

',0AH,0DH,'$'

SDDB'a'

DATAENDS

 

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVDX,OFFSETMES;显示提示信息

MOVAH,09H

INT21H

 

MOVDI,OFFSETSD

MOVAL,DS:

[DI]

ANDAL,0F0H;取高4位

SHRAL,4

CMPAL,0AH;是否是A以上的数

JBC2

ADDAL,07H

C2:

ADDAL,30H

MOVDL,AL;显示字符

MOVAH,02H

INT21H

MOVAL,DS:

[DI]

ANDAL,0FH;取低4位

CMPAL,0AH

JBC3

ADDAL,07H

C3:

ADDAL,30H

MOVDL,AL;显示字符

MOVAH,02H

INT21H

MOVAX,4C00H;返回DOS

INT21H

CODEENDS

ENDSTART

实验题目

7种寻址方式指令编程

实验目的

通过对传送和算术运算类指令的实验结果的观察和分析,加深对各指令完成操作功能的理解,并了解各指令对于相关标志位的影响。

实验内容

7种寻址方式指令的编程包括:

(1)MOV传送类;

(2)堆栈操作传送;

(3)交换传送;

(4)输入/输出传送;

(5)串传送指令等。

(6)在指令后面注释源操作数和目的操作数的寻址方式。

程序如下:

DATASEGMENT

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

STADATA

SEGMENTRT:

MOVAX,DATA

MOVDS,AX

MOVAL,04H

MOVDX,2000H//立即寻址

MOVAX,99AAH

MOVBX,1257H

SUBAX,BX//寄存器寻址

MOVAX,5000H

MOVSI,3000H

MOVAX,DS:

[SI]//寄存器间接寻址

PUSHAX

PUSHEBX

PUSH[SI]

PUSHDOWRDPTR[DI]

PUSHW0A124H

PUSHD20H//堆栈操作指令

MOVAX,3000H

XCHGAX,1000H

MOV3000H,AX//交换传送指令

INDX,7000H

INAX,DX//输入指令

实验步骤

1.建立文件,编写源程序。

2.编译、连接生成EXE可执行文件。

3.行调试,分析每条指令的寻址方式,验证操作数所在的地址空间。

实验总结

1.通过本次实验,可以正确的编写传送类指令与算术运算类指令、逻辑运算类指令的应用实验,并了解了编译链接调试的过程,检查程序结果的正确与否,会观察分析。

2.更加清楚的能分析各种运算指令,并对其有了更深的理解。

3.实验过程中必须认真仔细,特别是在应用逻辑运算指令时,不然一旦有一点错误,实验就无法正常进行,必须返回去查找错误,费时费力。

实验题目

各种逻辑指令的编程

实验目的

1、掌握在PC机上各种逻辑指令的用法

2、熟悉各种逻辑指令的用法

实验内容

在上次编辑七种寻址方式实验的中加入各种逻辑指令的运算,并且调试。

程序如下:

STACK1SEGMENTSTACK

DW256DUP(?

STACK1ENDS

DDATASEGMENT

MSRDB'HELLO,WORLD!

$'

LENEQU$-MSR

DDATAENDS

EXDASEGMENT

MSDDBLENDUP(?

EXDAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DDATA,ES:

EXDA

START:

MOVAX,DDATA

MOVDS,AX

MOVAX,EXDA

MOVES,AX

MOVSI,OFFSETMSR

MOVDI,OFFSETMSD

MOVCX,LEN

MOVBX,0

NEXT:

MOVAL,MSR[BX]

MOVES:

MSD[BX],AL

INCBX

LOOPNEXT

PUSHES

POPDS

MOVDX,OFFSETMSD

MOVAH,9

INT21H

MOVAX,2233H

MOVDX,3344H

ADDAX,DX

ADDAL,DL

ADDAX,5566H

ADCAL,DH

DIVBL

MOVBX,6677H

MULBX

SBBAX,DX

MOVAX,4C00H

INT21H

CODEENDS

ENDSTART

 

实验步骤

1.运行编译器,编译程序。

2.单击编译,保存。

3.调试程序。

实验总结

1.通过实验,熟悉了各种逻辑指令的用法,了解了其程序的编译。

2.调试程序的过程中需要不断地发现问题、解决问题。

3.实验过程中,各指令的用法十分复杂,需要不断练习,熟悉指令的运行目的。

4.不同的程序代码,在不同的环境的运用方式也不同,这是我们必须要掌握的技能。

实验题目

数据传送实验

实验目的

(1)熟悉Tdpit集成环境和调试器的使用。

(2)掌握与数据有关的不同寻址方式。

 

实验内容

本实验要求将数据段中的一个字符串传送到附加段中,并输出附加段中的目标字符串到屏幕上。

实验程序如下:

DDATASEGMENT;定义源数据段

MSRDB"HELLO,WORLD!

$"

LENEQU$-MSR

DDATAENDS

 

EXDASEGMENT;定义附加数据段

MSDDBLENDUP(?

EXDAENDS

 

MYSTACKSEGMENTSTACK;定义堆栈段

DW20DUP(?

MYSTACKENDS

 

CODESEGMENT;定义代码段

ASSUMECS:

CODE,DS:

DDATA,ES:

EXDA

START:

MOVAX,DDATA

MOVDS,AX;装载数据段寄存器

MOVAX,EXDA

MOVES,AX;装载附加数据段寄存器

MOVSI,OFFSETMSR;设置SI

MOVDI,OFFSETMSD;设置DI

MOVCX,LEN

NEXT:

MOVAL,[SI];开始传输数据

MOVES:

[DI],AL

INCSI

INCDI

DECCX

JNZNEXT

PUSHES

POPDS;将附加段寄存器指向的段值赋给数据段寄存器

MOVDX,OFFSETMSD

MOVAH,9

INT21H

MOVAX,4C00H;利用DOS功能调用返回DOS状态

INT21H

CODEENDS

ENDSTART

 

将程序主体部分的寄存器间接寻址方式改为相对寻址方式,则如下所示:

MOVBX,0

MOVCX,LEN

NEXT:

MOVAL,MSR[BX]

MOVES:

MSD[BX],AL

INCBX

LOOPNEXT

 

实验步骤

(1)运行Tdpit软件,选择文件菜单,点击新建进行实验程序的编写。

(2)使用编译菜单中的编译和连接对实验程序进行汇编、连接。

(3)使用编译菜单中的运行,运行程序,观察运行结果。

(4)使用编译菜单中的调试,调试程序,观察调试过程中,数据传输指令执行后,各寄存器及数据区的内容。

(5)更改数据区中的数据,考察程序的正确性。

实验题目

基本I/O接口电路设计实验

 

实验目的

(1)掌握基本I/O接口电路的设计方法。

(2)熟练汇编语言I/O端口操作指令的使用。

 

实验内容

   利用三态缓冲器74LS245、锁存器74LS374设计微机总线和外部设备的数据通道,实现微机对外部输入数据的读取和对输出数据的输出。

用开关及LED显示单元的开关和数据灯作为输入和输出显示设备,将读到开关的数据显示在数据灯上。

 

实验原理

1.输入接口设计

   输入接口一般用三态缓冲器实现,外部设备输入数据通过三态缓冲器,通过数据总线传送给微机系统。

74LS245是一种8通道双向的三态缓冲器。

DIR引脚控制缓冲器数据方向,DIR为1表示数据由A[7:

0]至B[7:

0],DIR为0表示数据由B[7:

0]至A[7:

0]。

G引脚为缓冲器的片选信号,低电平有效。

 

2.输出接口设计

输出接口一般用锁存器实现,从总线送出的数据可以暂存在锁存器中。

74LS374是一种8通道上沿触发锁存器。

D[7:

0]为输入数据线,Q[7:

0]为输出数据线。

CLK引脚为锁存控制信号,上升沿有效。

当上升沿到时,输出数据线锁存输入数据线上的数据。

OE引脚为锁存器的片选信号,低电平有效。

3.输入输出接口设计

用74LS245和74LS374可以组成一个输入输出接口电路,既实现数据的输入又实现数据的输出,输入输出可以占用同一个端口。

是输入还是输出用总线读写信号来区分。

总线读信号IOR和片选信号CS相“或”来控制输入接口74LS245的使能信号G。

总线写信号IOW和片选信号CS相“或”来控制输出接口74LS374的锁存信号CLK。

实验系统中基本输入输出单元就实现了两组这种的电路。

实验说明及步骤

   本实验实现的是将开关K[7:

0]的数据通过输入数据通道读入CPU的寄存器,然后再通过输出数据通道将该数据输出到数据灯显示,该程序循环运行,直到按动键盘上任意按键再退出程序。

实验步骤如下:

(1)确认从PC机引出的两根扁平电缆已经连接在实验平台上。

(2)如图1所示连接实验线路。

(3)首先运行CHECK程序,查看并记录与片选信号对应的I/O端口始地址。

(4)参考实验流程图编写程序,注意使用正确的端口地址,然后编译链接。

(5)运行程序,拨动开关,观看数据灯显示是否正确。

图1

 

实验程序如下:

IOY0EQU0D000H;片选IOY0对应的端口始地址

;*****************************************************************

MY8255_AEQUIOY0+00H*4;8255的A口地址

MY8255_BEQUIOY0+01H*4;8255的B口地址

MY8255_CEQUIOY0+02H*4;8255的C口地址

MY8255_MODEEQUIOY0+03H*4;8255的控制寄存器地址

STACK1SEGMENTSTACK

DW256DUP(?

STACK1ENDS

CODESEGMENT

ASSUMECS:

CODE

START:

MOVDX,MY8255_MODE;初始化8255工作方式

MOVAL,82H;工作方式0,A口输出,B口输入

OUTDX,AL

LOOP1:

MOVDX,MY8255_B;读B口

INAL,DX

MOVDX,MY8255_A;写A口

OUTDX,AL

MOVAH,1;判断是否有按键按下

INT16H

JZLOOP1;无按键则跳回继续循环,有则退出

QUIT:

MOVAX,4C00H;结束程序退出

INT21H

CODEENDS

ENDSTART

实验题目

8255并口控制器应用实验

 

实验目的

(1)掌握8255的工作方式及应用编程。

(2)掌握8255的典型应用电路接法。

 

实验内容

(1)基本输入输出实验。

编写程序,使8255的A口为输出,B口为输入,完成拨动开关到数据灯的数据传输。

要求只要开关拨动,数据灯的显示就改变。

(2)流水灯显示实验。

编写程序,使8255的A口和B口均为输出,实现16位数据灯的相对循环显示。

 

实验原理

并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。

CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位、32位等。

8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:

方式0--基本输入/出方式、方式1--选通输入/出方式、方式2--双向选通工作方式。

实验说明及步骤

1.基本输入输出实验

本实验使8255端口A工作在方式0并作为输出口,端口B工作在方式0并作为输入口。

用一组开关信号接入端口B,端口A输出线接至一组数据灯上,然后通过对8255芯片编程来实现输入输出功能。

实验步骤如下。

(1)确认从PC机引出的两根扁平电缆已经连接在实验平台上。

(2)如图1所示连接实验线路。

(3)首先运行CHECK程序,查看I/O空间始地址。

(4)利用查出的地址编写程序,然后编译链接。

(5)运行程序,拨动开关,看数据灯显示是否正确。

图1

2.流水灯显示实验

首先分别向A口和B口写入80H和01H,然后分别将该数右移和左移一位,再送到端口上,这样循环下去,从而实现流水灯的显示。

实验步骤如下:

(1)确认从PC机引出的两根扁平电缆已经连接在实验平台上。

(2)首先运行CHECK程序,查看I/O空间始地址。

(3)利用查出的地址编写程序,然后编译链接。

(4)如图2所示连接实验线路。

(5)运行程序,看数据灯显示是否正确。

图2

流水灯程序如下

IOY0EQU0D000H;片选IOY0对应的端口始地址

;*****************************************************************

MY8255_AEQUIOY0+00H*4;8255的A口地址

MY8255_BEQUIOY0+01H*4;8255的B口地址

MY8255_CEQUIOY0+02H*4;8255的C口地址

MY8255_MODEEQUIOY0+03H*4;8255的控制寄存器地址

STACK1SEGMENTSTACK

DW256DUP(?

STACK1ENDS

DATASEGMENT

LADB?

;定义数据变量

LBDB?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVDX,MY8255_MODE;定义8255工作方式

MOVAL,80H;工作方式0,A口和B口为输出

OUTDX,AL

MOVDX,MY8255_A;写A口发出的起始数据

MOVAL,80H

OUTDX,AL

MOVLA,AL

MOVDX,MY8255_B;写B口发出的起始数据

MOVAL,01H

OUTDX,AL

MOVLB,AL

LOOP1:

CALLDALLY

MOVAL,LA;将A口起始数据右移再写入A口

RORAL,1

MOVLA,AL

MOVDX,MY8255_A

OUTDX,AL

MOVAL,LB;将B口起始数据左移再写入B口

ROLAL,1

MOVLB,AL

MOVDX,MY8255_B

OUTDX,AL

MOVAH,1;判断是否有按键按下

INT16H

JZLOOP1;无按键则跳回继续循环,有则退出

QUIT:

MOVAX,4C00H;结束程序退出

INT21H

DALLYPROCNEAR;软件延时子程序

PUSHCX

PUSHAX

MOVCX,3FFH

D1:

MOVAX,0FFFFH

D2:

DECAX

JNZD2

LOOPD1

POPAX

POPCX

RET

DALLYENDP

CODEENDS

ENDSTART

实验题目

A/D转换实验

 

实验目的

(1)学习掌握模/数信号转换基本原理。

(2)掌握ADC0809芯片的使用方法。

 

实验内容

   编写实验程序,用ADC0809完成模拟信号到数字信号的转换。

输入模拟信号由A/D转换单元可调电位器提供的0~5V,输出数字量显示在显示器屏幕上。

显示形式为:

AD0809:

IN0XX。

 

实验原理

   ADC0809包括一个8位的逐次逼近型的ADC部分,并提供一个8通道的模拟多路开关和联合寻址逻辑。

用它可直接输入8个单端的模拟信号,分时进行A/D转换,在多点巡回检测、过程控制等应用领域中使用非常广泛。

ADC0809的主要技术指标为:

·分辨率:

8位

·单电源:

+5V

·总的不可调误差:

±1LSB

·转换时间:

取决于时钟频率

·模拟输入范围:

单极性0~5V

·时钟频率范围:

10KHz~1280KHz

   ADC0809的地址信号与选中通道的关系如表1所示。

表1

 

实验步骤及说明

(1)确认从PC机引出的两根扁平电缆已经连接在实验平台上。

(2)首先运行CHECK程序,查看I/O空间始地址。

(3)利用查出的地址编写程序,然后编译链接。

(4)如图1所示连接实验线路。

(5)运行程序,调节电位器,观察屏幕上显示的数字量输出。

 

  

图1

 

程序如下:

IOY0EQU0D000H;片选IOY0对应的端口始地址

;*****************************************************************

AD0809EQUIOY0+00H;AD0809的端口地址

STACK1SEGMENTSTACK

DW256DUP(?

STACK1ENDS

DATASEGMENT

STR1DB'AD0809:

IN0$';定义显示的字符串

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

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

当前位置:首页 > 解决方案 > 学习计划

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

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