32位微机原理上机实验报告要点Word格式.docx
- 文档编号:22347000
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:26
- 大小:108.94KB
32位微机原理上机实验报告要点Word格式.docx
《32位微机原理上机实验报告要点Word格式.docx》由会员分享,可在线阅读,更多相关《32位微机原理上机实验报告要点Word格式.docx(26页珍藏版)》请在冰豆网上搜索。
START:
MOVAX,DATA
MOVDS,AX
MOVDX,OFFSETMES1
MOVDX,OFFSETMES2
C2:
ADDAL,30H
MOVDL,AL
MOVAH,02H
[DI]
ANDAL,0FH
JBC3
C3:
MOVAX,4C00H
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:
DATA
MOVAX,DATA
MOVDS,AX
MOVDX,OFFSETMES;
显示提示信息
MOVAH,09H
INT21H
MOVDI,OFFSETSD
[DI]
ANDAL,0F0H;
取高4位
SHRAL,4
CMPAL,0AH;
是否是A以上的数
JBC2
ADDAL,07H
ADDAL,30H
MOVDL,AL;
显示字符
MOVAH,02H
INT21H
ANDAL,0FH;
取低4位
CMPAL,0AH
JBC3
ADDAL,07H
ADDAL,30H
MOVAX,4C00H;
返回DOS
CODEENDS
ENDSTART
7种寻址方式指令编程
通过对传送和算术运算类指令的实验结果的观察和分析,加深对各指令完成操作功能的理解,并了解各指令对于相关标志位的影响。
7种寻址方式指令的编程包括:
(1)MOV传送类;
(2)堆栈操作传送;
(3)交换传送;
(4)输入/输出传送;
(5)串传送指令等。
(6)在指令后面注释源操作数和目的操作数的寻址方式。
DATASEGMENT
CODESEGMENT
ASSUMECS:
STADATA
SEGMENTRT:
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、熟悉各种逻辑指令的用法
在上次编辑七种寻址方式实验的中加入各种逻辑指令的运算,并且调试。
STACK1ENDS
DDATASEGMENT
MSRDB'
HELLO,WORLD!
LENEQU$-MSR
DDATAENDS
EXDASEGMENT
MSDDBLENDUP(?
EXDAENDS
DDATA,ES:
EXDA
MOVAX,DDATA
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
MOVAX,2233H
MOVDX,3344H
ADDAX,DX
ADDAL,DL
ADDAX,5566H
ADCAL,DH
DIVBL
MOVBX,6677H
MULBX
SBBAX,DX
CODEENDS
1.运行编译器,编译程序。
2.单击编译,保存。
3.调试程序。
1.通过实验,熟悉了各种逻辑指令的用法,了解了其程序的编译。
2.调试程序的过程中需要不断地发现问题、解决问题。
3.实验过程中,各指令的用法十分复杂,需要不断练习,熟悉指令的运行目的。
4.不同的程序代码,在不同的环境的运用方式也不同,这是我们必须要掌握的技能。
数据传送实验
(1)熟悉Tdpit集成环境和调试器的使用。
(2)掌握与数据有关的不同寻址方式。
实验内容
本实验要求将数据段中的一个字符串传送到附加段中,并输出附加段中的目标字符串到屏幕上。
实验程序如下:
DDATASEGMENT;
定义源数据段
MSRDB"
$"
LENEQU$-MSR
DDATAENDS
EXDASEGMENT;
定义附加数据段
MSDDBLENDUP(?
)
EXDAENDS
MYSTACKSEGMENTSTACK;
定义堆栈段
DW20DUP(?
MYSTACKENDS
CODESEGMENT;
定义代码段
EXDA
MOVAX,DDATA
MOVDS,AX;
装载数据段寄存器
MOVAX,EXDA
MOVES,AX;
装载附加数据段寄存器
MOVSI,OFFSETMSR;
设置SI
MOVDI,OFFSETMSD;
设置DI
MOVCX,LEN
MOVAL,[SI];
开始传输数据
MOVES:
[DI],AL
INCSI
INCDI
DECCX
JNZNEXT
PUSHES
POPDS;
将附加段寄存器指向的段值赋给数据段寄存器
MOVDX,OFFSETMSD
MOVAH,9
INT21H
MOVAX,4C00H;
利用DOS功能调用返回DOS状态
将程序主体部分的寄存器间接寻址方式改为相对寻址方式,则如下所示:
MOVBX,0
MOVAL,MSR[BX]
MSD[BX],AL
INCBX
LOOPNEXT
(1)运行Tdpit软件,选择文件菜单,点击新建进行实验程序的编写。
(2)使用编译菜单中的编译和连接对实验程序进行汇编、连接。
(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的控制寄存器地址
CODE
MOVDX,MY8255_MODE;
初始化8255工作方式
MOVAL,82H;
工作方式0,A口输出,B口输入
OUTDX,AL
LOOP1:
MOVDX,MY8255_B;
读B口
INAL,DX
MOVDX,MY8255_A;
写A口
MOVAH,1;
判断是否有按键按下
INT16H
JZLOOP1;
无按键则跳回继续循环,有则退出
QUIT:
MOVAX,4C00H;
结束程序退出
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芯片编程来实现输入输出功能。
实验步骤如下。
(3)首先运行CHECK程序,查看I/O空间始地址。
(4)利用查出的地址编写程序,然后编译链接。
(5)运行程序,拨动开关,看数据灯显示是否正确。
图1
2.流水灯显示实验
首先分别向A口和B口写入80H和01H,然后分别将该数右移和左移一位,再送到端口上,这样循环下去,从而实现流水灯的显示。
(2)首先运行CHECK程序,查看I/O空间始地址。
(3)利用查出的地址编写程序,然后编译链接。
(4)如图2所示连接实验线路。
(5)运行程序,看数据灯显示是否正确。
图2
流水灯程序如下
LADB?
;
定义数据变量
LBDB?
MOVAX,DATA
定义8255工作方式
MOVAL,80H;
工作方式0,A口和B口为输出
写A口发出的起始数据
MOVAL,80H
MOVLA,AL
写B口发出的起始数据
MOVAL,01H
MOVLB,AL
CALLDALLY
MOVAL,LA;
将A口起始数据右移再写入A口
RORAL,1
MOVDX,MY8255_A
MOVAL,LB;
将B口起始数据左移再写入B口
ROLAL,1
MOVDX,MY8255_B
DALLYPROCNEAR;
软件延时子程序
PUSHCX
PUSHAX
MOVCX,3FFH
D1:
MOVAX,0FFFFH
D2:
DECAX
JNZD2
LOOPD1
POPAX
POPCX
RET
DALLYENDP
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
实验步骤及说明
(4)如图1所示连接实验线路。
(5)运行程序,调节电位器,观察屏幕上显示的数字量输出。
图1
AD0809EQUIOY0+00H;
AD0809的端口地址
STR1DB'
AD0809:
IN0$'
定义显示的字符串
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 32 微机 原理 上机 实验 报告 要点