西北工业大学明德学院
实验报告
实验项目 微机原理及应用
班 级 121204 姓 名 田家豪 王辰硕 学 号 121566 121567 指导老师 伍明高
时 间 2015-3-24
实验题目
7种寻址方式指令编程
实验目的
通过对传送和算术运算类指令的实验结果的观察和分析,加深对各指令完成操作功能的理解,并了解各指令对于相关标志位的影响。
实验内容
7种寻址方式指令的编程包括:
(1)MOV传送类;
(2)堆栈操作传送;
(3)交换传送;
(4)输入/输出传送;
(5)串传送指令等。
(6)在指令后面注释源操作数和目的操作数的寻址方式。
程序如下:
DATA SEGMENT
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
STADATA
SEGMENTRT:MOV AX,DATA
MOV DS,AX
MOV AL,04H
MOV DX,2000H
MOV AX,99AAH
MOV BX,1257H
SUB AX,BX
MOV AX,5000H
MOV SI,3000H
MOV AX,DS:[SI]
PUSH AX
PUSH EBX
PUSH[SI]
PUSH DOWRD PTR[DI]
PUSHW 0A124H
PUSHD 20H
MOV AX,3000H
XCHG AX,1000H
MOV 3000H,AX
IN DX,7000H
IN AX,DX //立即寻址 //寄存器寻址 //寄存器间接寻址 //堆栈操作指令 //交换传送指令 //输入指令
实验步骤
1. 建立文件,编写源程序。
2. 编译、连接生成EXE可执行文件。
3. 行调试,分析每条指令的寻址方式,验证操作数所在的地址空间。
实验总结
1. 通过本次实验,可以正确的编写传送类指令与算术运算类指令、逻辑运算类指令的应用实验,并了解了编译链接调试的过程,检查程序结果的正确与否,会观察分析。
2. 更加清楚的能分析各种运算指令,并对其有了更深的理解。
3. 实验过程中必须认真仔细,特别是在应用逻辑运算指令时,不然一旦有一点错误,实验就无法正常进行,必须返回去查找错误,费时费力。
第二篇:微机原理上机实验报告
微机原理上机实验报告
实验一基本输入/输出实验:
本实验使8255端口A工作在方式0并作为输入口,端口B工作在方式0并作为输出口。用一组开关信号接入端口A,端口B输出线接至一组数据灯上,然后通过对8255芯片编程来实现输入/输出功能。8255基本输入/输出实验参考接线图如图所示。
流程图:
操作步骤:
按图示连好线路,在TDPIT中输入如下程序,编译、连接、运行。
DATA SEGMENT
CS0 EQU 300OH
MY8255_A EQU CS0+00H
MY8255_B EQU CS0+01H
MY8255_C EQU CS0+02H
MY8255_MODE EQU CS0+03H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV DX,3003H
MOV AL,10000010B
OUT DX,AL
TEST_IT:MOV DX,3001H
IN AL,DX
MOV DX,3000H
OUT DX,AL
JMP TEST_IT
CODE ENDS
END START
实验现象:
闭合开关,对应控制灯泡发光。
实验二 流水线指示灯显示实验:
首先分别将A口和B口写入7FH和FEH,然后分别将该数右移和左移一位,在送到端口上,这样循环下去,从而实现流水灯的显示。8255流水灯显示实验参考接线图如图所示。
流程图:
操作步骤:
按图示连好线路,在TDPIT中输入如下程序,编译、连接、运行。
DATA SEGMENT
CSO EQU 3000H
A EQU CSO+0000H
B EQU CSO+0001H
C EQU CSO+0002H
M EQU CSO+0003H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
XOR AX,AX
MOV AL,10000000B
MOV DX,M
OUT DX,AL
;MOV DX,B
;IN AL,DX
L1:
MOV AL,00001000B
MOV DX,A
OUT DX,AL
MOV AL,00000001B
MOV DX,B
OUT DX,AL
MOV CX,00FFH
C1: MOV BX,CX
MOV CX,0FFFFH
D1:
LOOP D1
MOV CX,BX
LOOP C1
MOV AL,00000100B
MOV DX,A
OUT DX,AL
MOV AL,00000010B
MOV DX,B
OUT DX,AL
MOV CX,00FFH
C2: MOV BX,CX
MOV CX,0FFFFH
D2:
LOOP D2
MOV CX,BX
LOOP C2
MOV AL,00000010B
MOV DX,A
OUT DX,AL
MOV AL,00000100B
MOV DX,B
OUT DX,AL
MOV CX,00FFH
C3: MOV BX,CX
MOV CX,0FFFFH
D3:
LOOP D3
MOV CX,BX
LOOP C3
MOV AL,00000001B
MOV DX,A
OUT DX,AL
MOV AL,00001000B
MOV DX,B
OUT DX,AL
MOV CX,00FFH
C4: MOV BX,CX
MOV CX,0FFFFH
D4:
LOOP D4
MOV CX,BX
LOOP C4
JMP L1
MOV AX,4C00H
INT 21H
CODE ENDS
END START
实验现象:
灯泡如流水般从左至右依次流动发光,并始终保持在同一时间只有一个灯亮着。