整理烟台大学光电信息学院微机原理实验.docx
- 文档编号:28069550
- 上传时间:2023-07-08
- 格式:DOCX
- 页数:22
- 大小:164.83KB
整理烟台大学光电信息学院微机原理实验.docx
《整理烟台大学光电信息学院微机原理实验.docx》由会员分享,可在线阅读,更多相关《整理烟台大学光电信息学院微机原理实验.docx(22页珍藏版)》请在冰豆网上搜索。
整理烟台大学光电信息学院微机原理实验
微机原理实验
班级:
09
姓名:
学号:
200913503
实验一熟悉宏汇编程序及debug
一.实验目的
1.学习并掌握汇编语言指令寻址方式
2.熟悉在PC机上用DEBUG调试和运行汇编语言指令的过程。
二.实验内容
根据给定寄存器内容及存储单元内容,运行给定指令,观察记录运行结果。
三.给定的寄存器内容和存储单元内容及指令
1、给定的寄存器内容及存储单元内容
(DS)=2000H,(SI)=0002H,(BX)=0100H
(20100H)=12H,(20101H)=34H,(20102H)=56H,(20103H)=78H,
(21200H)=2AH,(21201H)=4CH,(21202H)=0B7H,(21203H)=65H,
2、指令
(1)MOVAX,1200H
(2)MOVAX,BX
(3)MOVAX,[1200H]
(4)MOVAX,[BX]
(5)MOVAX,1100H[BX]
(6)MOVAX,[BX][SI]
(7)MOVAX,1100H[BX][SI]
四.调试步骤
1.运行DEBUG。
2.用A命令汇编指令
(1)
3.按给定寄存器和存储单元内容修改寄存器和存储单元内容。
4.单步运行指令,查看结果
5.重复上述步骤,调试指令
(2)——(7)
指令寻址方式
源操作数有效地址
源操作数物理地址
指令运行结果(AX)
1
立即数寻址
1200H
2
寄存器寻址
0100H
3
直接寻址
1200H
21200H
4C2AH
4
寄存器间接寻址
0100H
20100H
3412H
5
基址变址寻址
1200H
21200H
4C2AH
6
寄存器相对殉寻址
0102H
20102H
7856H
7
基址变址相对寻址
1203H
21203H
65B7H
六.思考题
1、汇编语言指令有哪些寻址方式?
用于寻址的寄存器有哪些?
立即数寻址、直接寻址,寄存器寻址,寄存器间接寻址,寄存器相对寻址,基址变址寻址,基址变址相对寻址。
对于16位数据,寄存器可以是AX,BX,CX,DX,SI,DI,SP,BP;对于8位数据,寄存器可以是AH,AL,BH,BL,CH,CL,DH,DL
实验二寻址方式练习及多字节运算程序
一.实验目的
1.学习并掌握数据传送指令和算术运算指令
2.熟悉在PC机上编辑、汇编、连接、调试与运行汇编语言程序的过程。
二.实验内容
实现两个32位无符号数乘法。
三.程序清单
见教材第74页,例4_34。
四.画出程序流程图
五.实验步骤
1.编辑源程序,建立一个以后缀名为.ASM的文件。
2.汇编源程序,检查程序是否有错误,有错时回到编辑状态,修改程序中错误行;无错误继续(3)。
3.连接目标程序,生成可执行程序。
4.DEBUG调试程序,记录如下数据:
(1)记录断点处地址。
(2)记录断点处DS、CS及IP的值。
(3)数据段DS:
0~DS:
0F的内容,并记录。
六、已知从数据段DATA单元开始存放字节型的带符号数X和Y,请设计计算Y=6X+8的程序。
mydatasegment
num1DW1200h,3400h
num2DW5600h,7800h
mutDW4dup(?
)
mydataends
mystacksegmentparastack'stacak'
DB100dup(?
)
mystackends
mycodesegment
assumeCS:
mycode,DS:
mydata,SS:
mystack
start:
PUSHDS
MOVAX,0
PUSHAX
MOVAX,mydata
MOVDS,AX
LEABX,num1
mul32:
MOVAX,[BX]
MOVSI,[BX+4]
MOVDI,[BX+6]
MULSI
MOV[BX+8],AX
MOV[BX+0ah],DX
MOVAX,[BX+2]
MULSI
ADD[BX+0ah],AX
ADC[BX+0ch],DX
MOVAX,[BX]
MULDI
ADD[BX+0ah],AX
ADC[BX+0ch],DX
ADCwordptr[BX+0eh],0
MOVAX,[BX+2]
MULDI
ADD[BX+0ch],AX
ADC[BX+0eh],DX
MOVAH,4ch
INT21h
mycodeends
endstart
实验三分支程序设计
一.实验目的
1.学习并掌握分支程序的设计方法
2.掌握正确分配与使用寄存器。
二.实验内容
实现符号函数。
三.程序清单
见教材第77页,例4_35。
四.程序流程图
五.实验步骤
1.编辑源程序,建立一个以后缀名为.ASM的文件。
2.汇编源程序,检查程序是否有错误,有错时回到编辑状态,修改程序中错误行;无错误继续(3)。
3.连接目标程序,生成可执行程序。
4.DEBUG调试程序,记录如下数据:
(1)记录断点处地址。
(2)记录断点处DS、CS及IP的值。
(3)数据段DS:
0~DS:
0F的内容,并记录。
(4)修改X的值,观察并记录实验结果。
六.思考题
观察实验数据,分析负数在内存中的表示方法。
从截图可以看出–5在计算机中存为0FFFB
实验四循环程序设计
一.实验目的
1.学习并掌握循环程序的设计方法
2.掌握正确分配与使用寄存器。
二.实验内容实现冒泡法排序。
三.程序清单见教材第80页,例4_37。
四.画出程序流程图
五.实验步骤
1.编辑源程序,建立一个以后缀名为.ASM的文件。
2.汇编源程序,检查程序是否有错误,有错时回到编辑状态,修改程序中错误行;无错误继续(3)。
3.连接目标程序,生成可执行程序。
MY_DATAsegment
buffdb33h,22h,11h,44h,55h,-30h,66h,88h
countequ$-buff
MY_DATAends
MY_STACKsegmentparastack'stack'
DB100DUP(?
)
MY_STACKENDS
MY_CODESEGMENT
ASSUMECS:
MY_CODE,DS:
MY_DATA,SS:
MY_STACK
BEGIN:
PUSHDS
MOVAX,0
PUSHAX
MOVAX,MY_DATA
MOVDS,AX
MOVCX,COUNT-1
LOOP1:
MOVDX,CX
MOVSI,0
LOOP2:
MOVAL,BUFF[SI]
CMPAL,buff[SI+
JNGEDONE
XCHGAL,buff[SI+1]
movbuff[SIl
DONE:
INCSI
LOOPLOOP2
MOVCX,DX
LOOPLOOP1
moval,buff[si]
movbuff[SI+8],L
MOVAH,CH
INT21H
MY_CODEENDS
ENDBEGIN
4.DEBUG调试程序,记录如下数据:
(1)记录断点处地址。
9D:
0033
(2)记录断点处DS、CS及IP的值。
129C129D0033
(3)数据段DS:
0~DS:
0F的内容,并记录。
(4)修改源程序,把数据改为从小到大排序,观察并记录实验结果。
将JNGE改为JNE
(5)修改源程序,把排好序的数据保存在原数据的后面存储区中。
观察并记录实验结果。
六.思考题
1、分析源程序,利用子程序实现上述问题。
2、已知从数据段BUF单元开始存放15个字节型数据,请设计程序将其中负数和零分别送往MINUS和ZERO开始的存储器单元。
BUFEQUaddress1
MINUSEQUaddress2
ZEROEQUaddress3
CODESEGMENT
ASSUMECS:
CODE
MOVCX,15
START:
MOVAL,BUF
SUBAL,00H
JZZERO
MOVAL,BUF
TESTAL,0FFH
JZMINUS
LOOPSTART
ZERO:
MOVZERO,AL
INCZERO
INCBUF
LOOPSTART
MINUS:
MOVMINUS,AL
INCMINUS
INCBUF
LOOPSYTART
CODEENDS
ENDSTART
实验五8255并行接口实验
(一)
一.实验目的
(1)掌握8255的基本工作方式及其应用。
(2)掌握8255的典型应用电路接法。
二.实验内容基本输入输出实验。
8255端口地址为0E460H-0E463H。
三.实验步骤
1.接ISA仿真总线。
2.接8255数据、控制、A口及B口线。
A口连8个LED,B口连8个开关K。
3.编写程序,从B口输入数据并从A口输出,执行程序,观察结果。
按动开关,观察灯的亮灭情况。
四.实验思考题
修改程序和连线,要求从C口输入数据并从B口输出。
连线图
MY8255_A EQU 0E460H
MY8255_B EQU 0E461H
MY8255_C EQU 0E462H
MY8255_MODE EQU 0E463H
CODE SEGMENT
ASSUMECS:
CODE
START:
MOVDX,MY8255_MODE
MOVAL,80H ////1,00,0:
0,0,0,0B方式0,均为输出
OUTDX,AL
A1:
MOVDX,MY8255_B
INAL,DX
MOVDX,MY8255_A
OUTDX,AL
CALL BREAK
JMP A1
BREAK PROC NEAR
MOV AH,06H
MOV DL,0FFH
INT 21H
JE RETURN
MOV AX,4C00H
INT 21H
RETURN:
RET
BREAK ENDP
CODE ENDS
END START
实验六8255并行接口实验
(二)
一 实验目的
(1)掌握8255的各种工作方式及其应用。
(2)掌握8255的典型应用电路接法。
二.实验内容流水灯显示实验。
8255端口地址为0E460H-0E463H。
三.实验步骤
1.在实验五的基础上,B口也连8个LED,让16个LED顺序亮灭。
修改程序,并添加延时子程序。
(提示:
首先分别向A口和B口写入7FH和FEH,然后分别将该数右移和左移一位,再送到端口上,循环下去,从而实现流水灯的显示。
)
2.利用C口,连接三个开关,实现灯亮的开始、暂停、停止、复位等功能。
MY8255_AEQU0E460H
MY8255_BEQU0E461H
MY8255_CEQU0E462H
MY8255_MODEEQU0E463H
DATASEGMENT
LADB?
LBDB?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVDX,MY8255_MODE
MOVAL,80H/////1,00,0:
0,0,0,0B方式0,均为输出
OUTDX,AL
MOVDX,MY8255_A
MOVAL,7FH
OUTDX,AL
MOVLA,AL
MOVDX,MY8255_B
MOVAL,0FEH
OUTDX,AL
MOVLB,AL
CALLDALLY
A1:
MOVAL,LA
RORAL,1//7fh,循环右移
MOVLA,AL
MOVDX,MY8255_A
OUTDX,AL
MOVAL,LB
ROLAL,1//0feh,循环左移
MOVLB,AL
MOVDX,MY8255_B
OUTDX,AL
CALLDALLY
CALLBREAK
JMPA1
DALLY:
MOVCX,3FFH
D1:
MOVAX,0FFFFH
D2:
DECAX
JNZD2
LOOPD1
RET
BREAKPROCNEAR
MOVAH,06H
MOVDL,0FFH
INT21H
JERETURN
MOVAX,4C00H
INT21H
RETURN:
RET
BREAKENDP
CODEENDS
ENDSTART
1.环境的概念8253定时/计数实验
(2)评价范围。
根据评价机构专业特长和工作能力,确定其相应的评价范围。
6.提出安全对策措施建议一.实验目的
(2)掌握8253的典型应用技术。
[答疑编号502334050101]二.实验内容
用信号源1MHZ作为扬声器发声基准时钟,计数器0设置为工作方式3,由表格查出每个音符对应的时间常数送给计数器0,以确定音调,驱动扬声器产生音乐,其连线图如下(发声频率已经固定,但是发声时间是通过软件延时控制的,因此发声时间随不同档次PC机而变化,可以通过调节延时子程序参数来调节发声时间
三、实验连线
(1)实验板上的芯片为8254,功能结构与8253一样,其最高计数频率可达10MHz。
(2)连接ISA仿真总线;
3.建设项目环境影响评价文件的审查要求(3)按下图连接线路:
四.实验步骤
(1)编写程序,用OUT0驱动SPK单元的扬声器发声
价值=支付意愿=市场价格×消费量+消费者剩余
(2)设计实验线路图,将PCI总线扩展卡的ADD-ON总线与仿真ISA总线进行连接,完成线路连接。
(1) 运行程序,观察扬声器是否发声
(2) 可以根据音乐节拍发生时间较长或较短修改延时子程序的计数值。
3.不同等级的环境影响评价要求五.实验思考题
在计数值赋给8254后马上可以启动并且进行定时或者计数吗?
本实验参考程序
STACK1 SEGMENT STACK
三、安全预评价报告的基本内容 DW64DUP(?
)
报告内容有:
建设项目基本情况、建设项目所在地自然环境社会环境简况、环境质量状况、主要环境保护目标、评价适用标准、工程内容及规模、与本项目有关的原有污染情况及主要环境问题、建设项目工程分析、项目主要污染物产生及预计排放情况、环境影响分析、建设项目拟采取的防治措施及预期治理效果、结论与建议等。
STACK1 ENDS
[答疑编号502334050101]DATA SEGMENT
MY8254CT0 EQU 0E440H
MY8254CT1 EQU 0E441H
MY8254CT2 EQU 0E442H
MY8254MD EQU 0E443H
DTABLE
DB33H,33H,3DH,33H,26H,26H,26H,26H,2DH,2DH,26H,2DH,33H
DB33H,33H,33H,33H,33H,4DH,45H,3DH,3DH,3DH,45H,4DH,45H
DB45H,45H,45H,45H,45H,45H,45H,33H,33H,3DH,33H,26H,26H
DB26H,28H,2DH,2DH,26H,26H,33H,33H,33H,33H,45H,3DH,39H
DB39H,39H,52H,4DH,4DH,4DH,4DH,4DH,4DH,4DH,4DH,2DH
DB26H,26H,26H,26H,26H,26H,28H,28H,2DH,28H,26H,26H,26H
DB26H,2DH,28H,26H,2DH,2DH,33H,3DH,4DH,45H,45H,45H,45H
DB45H,45H,45H,45H,33H,33H,3DH,33H,26H,26H,26H,28H,2DH
DB2DH,26H,2DH,33H,33H,33H,33H,33H,33H,45H,3DH,39H,39H
DB39H,52H,4DH,4DH,4DH,4DH,4DH,4DH,4DH,4DH,00H
DATA ENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA,SS:
STACK1
START:
MOVAX,DATA
MOVDS,AX//数据段初始化
MOVBX,OFFSETDTABLE//偏移地址给BX
MOVAL,[BX]//数组的首地址给AL
MOVAH,00H//数组的偏移地址初始为0
A1:
MOVDL,0AH ;CLK=1MHz
MULDL
PUSHAX//保存AX的当前值
MOVDX,MY8254MD//设置8254的控制端口地址
MOVAL,36H//控制字
OUTDX,AL//向控制端口写入控制字
POPAX//AX的数据出栈
MOVDX,MY8254CT0//T0计数器的地址给DX
OUTDX,AL//写入初值的低字节
MOVAL,AH
OUTDX,AL//写入初值的高字节
INCBX
MOVAH,00H
MOVAL,[BX]
TESTAL,0FFH
JZ A2
PUSHAX
CALLDALLY
CALLBREAK
POPAX
JMPA1
A2:
MOVBX,OFFSETDTABLE
MOVAL,[BX]
MOVAH,00H
JMPA1
DALLY:
MOVCX,77FFH//延时函数
D1:
MOVAX,4C00H
D2:
DECAX
JNZD2
LOOPD1
BREAK PROC NEAR
MOVAH,06H
MOVDL,0FFH
INT21H
JE RETURN
MOVAX,4C00H
INT21H
RETURN:
RET
BREAK ENDP
CODEENDS
ENDSTART
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 整理 烟台 大学 光电 信息 学院 微机 原理 实验