32位微机原理上机实验报告要点.docx
- 文档编号:2989952
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:26
- 大小:100.25KB
32位微机原理上机实验报告要点.docx
《32位微机原理上机实验报告要点.docx》由会员分享,可在线阅读,更多相关《32位微机原理上机实验报告要点.docx(26页珍藏版)》请在冰点文库上搜索。
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 32 微机 原理 上机 实验 报告 要点