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

上传人:b****8 文档编号:9892771 上传时间:2023-02-07 格式:DOCX 页数:26 大小:100.25KB
下载 相关 举报
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、熟悉汇编的调试环境和使用

实验内容

STACK1

SEGMENTSTACK

DW256DUP(?

STACK2

ENDS

DATA

SEGMENTUSE13

MES1

DB‘121204',0AH,0DH,‘$'

MES2

DB‘121566',0AH,0DH,‘$'

MES3

DB‘TIANJIAHAO',0AH,0DH,‘$'

MES4

DB‘121204',0AH,0DH,‘$'

MES5

DB‘121567',0AH,0DH,‘$'

MES6

DB‘WANGCHENSHUO',0AH,0DH,‘$'

SD

DB‘A'

DATA

ENDS

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=B岀字符

(2)显示字符串

入口:

AH=09H

调用参数:

DS:

DX=|地址,’为结束字符

(3)键盘输入并回显

入口:

AH=01H

返回参数:

AL=W岀字符

⑷返回DOS系统

入口:

AH=4CH

调用参数:

AL=M回码

实验步骤

(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,OFFSETSDMOVAL,DS:

[DI]ANDAL,0F0H

SHRAL,4CMPAL,0AH

JBC2

ADDAL,07H

C2:

ADDAL,30H

MOVDL,ALMOVAH,02H

INT21HMOVAL,DS:

[DI]ANDAL,0FH

CMPAL,0AH

JBC3

ADDAL,07H

C3:

ADDAL,30H

MOVDL,AL

MOVAH,02H

INT21HMOVAX,4C00H

;取高4位

;是否是A以上的数

;显示字符

;取低4位

;显示字符

;返回DOS

INT21HCODEENDSENDSTART

加深对各指令完成操作功能的理解,

//立即寻址

//寄存器寻址

//寄存器间接寻址

//堆栈操作指令

//交换专送指令

实验题目

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、熟悉各种逻辑指令的用法

实验内容

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

程序如下

STACK1

SEGMENTSTACK

DW256DUP(?

STACK1

ENDS

DDATA

SEGMENT

MSR

DB'HELLO,WORLD!

$'

LEN

EQU$-MSR

DDATA

ENDS

EXDA

SEGMENT

MSD

DBLENDUP(?

EXDA

ENDS

CODE

SEGMENT

ASSUMECS:

CODE,DS:

DDATA,ES:

EXDA

START:

MOVAX,DDATA

MOVDS,AXMOVAX,EXDAMOVES,AX

MOVSI,OFFSETMSR

MOVDI,OFFSETMSD

MOVCX,LEN

MOVBX,0

NEXT:

MOVAL,MSR[BX]

MOVES:

MSD[BX],ALINCBXLOOPNEXTPUSHESPOPDS

MOVDX,OFFSETMSD

MOVAH,9

INT21H

MOVAX,2233H

MOVDX,3344HADDAX,DXADDAL,DL

ADDAX,5566H

ADCAL,DHDIVBL

MOVBX,6677HMULBX

SBBAX,DX

MOVAX,4C00H

INT21H

CODEENDS

ENDSTART

实验步骤

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

2.单击编译,保存。

3.调试程序。

实验总结

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

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

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

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

实验题目

数据传送实验

实验目的

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

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

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

实验程序如下:

DDATA

SEGMENT

;定义源数据段

MSR

DB"HELLO,WORLD!

$"

LEN

EQU$-MSR

DDATA

ENDS

EXDA

SEGMENT

;定义附加数据段

MSD

DBLENDUP(?

EXDA

ENDS

MYSTACKSEGMENTSTACK;定义堆栈段

DW20DUP(?

MYSTACKENDS

CODESEGMENT;定义代码段

ASSUMECS:

CODE,DS:

DDATA,ES:

EXDASTART:

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)运行程序,拨动开关,观看数据灯显示是否正确。

 

 

实验程序如下:

IOYOEQUODOOOH片选IOYO对应的端口始地址

・*****************************************************************

MY8255_

_A

EQU

IOY0+00H*4

;8255的A口地址

MY8255_

_B

EQU

IOY0+01H*4

;8255的B口地址

MY8255_

_C

EQU

IOY0+02H*4

;8255的C口地址

MY8255_

MODE

EQU

IOY0+03H*4

;8255的控制寄存器地址

STACK1SEGMENTSTACK

DW256DUP⑺

STACK1ENDS

 

CODESEGMENT

ASSUMECS:

CODE

START:

MOVDX,MY8255_MODE

MOVAL,82H

OUTDX,AL

LOOP1:

MOVDX,MY8255_B

INAL,DX

MOVDX,MY8255_A

OUTDX,AL

MOVAH,1

INT16H

JZLOOP1

;初始化8255工作方式

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

;判断是否有按键按下

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

 

;结束程序退出

QUIT:

MOVAX,4C00H

INT21H

CODEENDS

ENDSTART

实验题目

8255并口控制器应用实验

实验目的

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

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

实验内容

⑴基本输入输岀实验。

编写程序,使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所示连接实验线路。

⑶首先运行CHECKS序,查看I/O空间始地址。

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

(5)

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

2.流水灯显示实验

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

实验步骤如下:

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

⑵首先运行CHECKS序,查看I/O空间始地址。

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

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

(5)

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

 

流水灯程序如下

IOY0EQU0D000H片选IOYO对应的端口始地址

・*****************************************************************

MY8255_

_A

EQU

IOY0+00H*4

;8255的A口地址

MY8255_

_B

EQU

IOY0+01H*4

;8255的B口地址

MY8255_

_C

EQU

IOY0+02H*4

;8255的C口地址

MY8255_

MODE

EQU

IOY0+03H*4

;8255的控制寄存器地址

STACK1SEGMENTSTACK

DW256DUP(?

STACK1ENDS

DATASEGMENT

;定义数据变量

LADB

LBDB

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVDX,MY8255_MODE

MOVAL,80H

OUTDX,AL

;定义8255工作方式

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

MOVDX,MY8255_A

MOVAL,80HOUTDX,ALMOVLA,AL

MOVDX,MY8255_B

MOVAL,01HOUTDX,ALMOVLB,AL

LOOP1:

CALLDALLY

MOVAL,LA

RORAL,1

MOVLA,AL

MOVDX,MY8255_A

OUTDX,AL

MOVAL,LB

ROLAL,1

MOVLB,AL

MOVDX,MY8255_BOUTDX,AL

MOVAH,1

INT16H

JZLOOP1

QUIT:

MOVAX,4C00H

INT21H

DALLYPROCNEARPUSHCXPUSHAX

MOVCX,3FFHD1:

MOVAX,0FFFFH

;写A口发出的起始数据

;写B口发出的起始数据

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

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

;判断是否有按键按下

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

;结束程序退出

;软件延时子程序

 

D2:

DECAX

JNZD2

LOOPD1

POPAX

POPCX

RET

DALLYENDP

CODEENDS

ENDSTART

实验题目

AID转换实验

实验目的

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

⑵掌握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

地址

遶中删

C

B

A

0

0

0

INO

0

0

1

IN1

0

]11

0:

IN2

0

1

1

IW3

1

I'0|

0

IN4

1

0

1

IN5

1

1

■电■■

1M6

i

1

1

IN7

表1

实验步骤及说明

⑴确认从PC机引岀的两根扁平电缆已经连接在实验平台上。

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

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

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

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

XD7

7DT

XE5ET

0—0

0—0

D7

D6

D5

D4

D3

D2

D1

DO

单元

+5V

WRRECS

CLK

OO

电位器

程序如下:

IOYOEQUODOOOH片选IOYO对应的端口始地址

・*****************************************************************

AD0809EQUIOY0+00H

STACK1SEGMENTSTACK

DW256DUP⑺

STACK1ENDS

DATASEGMENT

STR1DB'AD0809:

IN0$'

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

LOOP1:

MOVDX,AD0809

OUTDX,AL

CALLDALLY

MOVDX,OFFSETSTR1

MOVAH,9

IN

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

当前位置:首页 > 求职职场 > 简历

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

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