电子科技大学中山学院学生实验报告Word格式.docx
《电子科技大学中山学院学生实验报告Word格式.docx》由会员分享,可在线阅读,更多相关《电子科技大学中山学院学生实验报告Word格式.docx(15页珍藏版)》请在冰豆网上搜索。
DATASEGMENT
QA1EQU255;
QA1________
QA2=QA1GT3000;
QA2________
QA3=0FFFH;
QA3________
QA4EQUQA3-255;
QA4________
QA5=88HSHR2;
QA5________
ORG1060H
G1DB32,QA1
G2DW0FF6H
G3DW3DUP(5)
G4DWSEGG1
SAEQULENGTHG3;
SA________
SBEQUSIZEG3;
SB________
SC=TYPEG3;
SC________
ORG1200H
F1=THISWORD
F2DB11H,22H,33H,44H;
1200H:
____________
FFDD12345H;
1204H:
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
STARTPROCFAR
PUSHDS
XORAX,AX
PUSHAX
MOVAX,DATA
MOVDS,AX;
DS________
MOVAL,BYTEPTRG2;
AL________
MOVBL,SB;
BL________
MOVAX,WORDPTRFF;
AX________
ANDAX,0FFH;
MOVBL,G1+1;
MOVBX,255AND0FH;
BX________
MOVCL,HIGHQA4;
CL________
MOVAL,QA2;
MOVBL,QA5;
ADDAX,OFFSETF2;
MOVBX,F1;
RET
STARTENDP
CODEENDS
ENDSTART
三、实验过程和数据记录
1.汇编语言程序的上机过程如下:
2.将程序运行时对应的寄存器和内存单元的内容填在“实验内容”处。
四、发挥与提高
请将数据段中的TAB开始的20个单元置入0FFH,编写完整程序并上机调试。
五、实验小结
课程名称:
实验二显示程序实验实验时间:
1.掌握在PC机上以上十六位进制数形式显示数据的方法。
2.掌握部分DOS功能调用的使用方法。
3.熟悉TuboDebugger的使用方法。
一般来说,有很多程序需要显示运行的状态和结果,有的还需要将数据区中的内容显示在屏幕上.本实验要求将指定数据区的数据以十六进制形式显示在屏幕上,并通过DOS功能调用完成一些提示信息的显示.实验中可使用DOS功能调用(INH21H).
1.显示单个字符
入口:
AH=02H
调用参数:
DL=输出字符
2.显示字符串
AH=09H
DS:
DX=串地止$为结束字符
3.盘输入并回显
AH=01H
返回参数:
AL=输出字符
4.返回DOS系统
AH=4CH
AL=返回码
ENDSTAR
看懂以下程序并验证结果:
DATASEGMENT
MESDB‘SHOWAASHEX:
’,0AH,0DH,’$’
SDDB‘A’
DATAENDS
CODESEGMENT
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX;
显示提示信息
MOVDX,OFFSETMES
MOVAH,09H
INT21H
MOVSI,OFFSETSD
MOVAL,DS:
[SI];
取高4位
ANDAL,0F0H
SHRAL,4;
是否是A以上的数
CMPAL,0AH
JBC2;
调整ASCII码值
ADDAL,07H
C2:
ADDAL,30H;
显示字符
MOVDL,AL
MOVAH,02H
取低4位
ANDAL,0FH
JBC3
C3:
INT21H;
返回DOS
MOVAX,4C00H
INT21H
CODEENDS
ENDSTART
1.该程序使用到哪些DOS功能调用指令,并指出其实现的具体功能。
2.该程序得到以下运行结果:
3.发挥与提高
四、实验小结
实验三汇编语言程序设计实验时间:
掌握汇编语言程序的设计方法,熟悉汇编语言程序的上机步骤和调试方法。
1.编写程序,用键盘输入一个数字,判断是奇数还是偶数,若是奇数显示“ODD”,若是偶数显示“PARITY”。
编程提示:
实验中可使用DOS功能调用(INT21H).
显示单个字符入口:
AH=02H,调用参数:
DL=输出字符;
显示字符串入口:
AH=09H,调用参数:
DX=串地止$为结束字符;
键盘输入并回显入口:
AH=01H返回参数:
AL=输出字符;
返回DOS系统入口:
AH=4CH调用参数:
AL=返回码。
2.编程计算下列函数的值:
1(X>
0)
Y=0(X=0)
-1(X<
0)
3.在以BUFFER为首址的内存中存放了若干个带符号数,寻找出它们最大值放到存储单元MAXVAL中,最小值放到存储单元MINVAL中。
(选做)
完整的源程序如下:
实验四可编程并行接口8255(方式0)实验时间:
掌握8255方式0的工作原理及使用方法。
1.实验电路如图4-1,8255C口接逻辑电平开关K0~K7,A口接LED显示电路L0~L7。
2.编程从8255C口输入数据,再从A口输出。
图4-1图4-2
编程提示:
1)8255控制寄存器端口地址28BH
A口的地址288H
C口的地址28AH
2)参考流程图(见图4-2)
1.源程序:
2.运行程序得到怎样的控制效果?
实验五七段数码管实验时间:
掌握数码管显示数字的原理。
1.静态显示:
按图5-1连接好电路,将8255的A口PA0~PA6分别与七段数码管的段码驱动输入端a~g相连,位码驱动输入端S1接+5V(选中),S0、dp接地(关闭)。
编程从键盘输入一位十进制数字(0~9),在七段数码管上显示出来。
2.动态显示:
按图5-2连接好电路,七段数码管段码连接不变,位码驱动输入端S1,S0接8255C口的PC1,PC0。
编程在两个数码管上显示“56”。
3.动态显示:
使用图5-2的电路,编程在两个数码管上循环显示“00-99”。
图5-1图5-2
1)实验台上的七段数码管为共阴型,段码采用同相驱动,输入端加高电平选中的数码管亮,位码加反相驱动器,位码输入端高电平选中。
2)七段数码管的字型代码表如下表:
3)参考流程图(见图5-2)
图5-3
1.静态显示的程序和动态显示‘56’的程序:
实验六可编程定时器/计数器(8253)实验时间:
掌握8253的基本工作原理和编程方法。
1.按图6-1虚线连接电路,将计数器0设置为方式0,计数器初值为N(N≤0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。
图6-1
2.按图6-2连接电路,将计数器0、计数器1分别设置为方式3,计数初值设为1000,用逻辑笔观察OUT1输出电平的变化(频率1HZ)。
图6-2
1、8253控制寄存器地址283H
计数器0地址280H
计数器1地址281H
CLK0连接时钟1MHZ
2、参考流程图(见图6-3、6-4):
图6-3图6-4
实验七串行通讯(8250)实验时间:
1.了解串行通讯的基本原理。
2.掌握串行接口芯片8250的工作原理和编程方法。
1.将串行接口的TXD和RXD连在一起。
2.编程:
从键盘输入一个字符,将其ASCII码加1后发送出去,再接收回来在屏幕上显示,实现自发自收。
要求数据传输速率为1200波特,通信格式为7位/字符,一个停止位、奇校验,数据发送和接收均采用查询方式;
程序为循环结构,只要按下键,就显示。
参考流程图如下: