【昆明理工大学微机原理实验报告】是一份针对微机原理与应用课程的实验报告,旨在帮助学生通过实际操作掌握汇编语言程序设计的基本方法和技巧。实验主要利用Emu8086仿真软件进行,目的是让学生熟悉运算类指令的使用,并理解其对标志位的影响,同时培养他们解决实际问题的能力。
实验原理基于MASM(Microsoft Macro Assembler)汇编语言设计工具,该工具用于编写、汇编和调试汇编语言程序。实验过程中,首先需要在Windows环境下建立一个ASM文件,使用文字编辑器如写字板创建源代码。接着,使用MASM将源文件汇编成目标文件.OBJ,再通过连接程序LINK生成可执行文件.EXE。执行程序并进行调试,确保程序按照预期工作。
在实验过程中,学生被要求编写一段汇编源程序,实现两个数据的相加操作。具体任务是取数据段DATA1中的数值0F865H和DATA2中的数值360CH,进行加法运算,然后将结果存储到当前数据段中偏移地址为3800H的单元中。以下是一个示例的汇编源程序清单:
```asm
DSEG SEGMENT 'DATA'
DATA1 DW 0F865H
DATA2 DW 360CH
DSEG ENDS
SSEG SEGMENT STACK
DW 100h DUP(?)
SSEG ENDS
CSEG SEGMENT 'CODE'
START PROC FAR
; Store return address to OS:
PUSH DS
MOV AX, 0
PUSH AX
; set segment registers:
MOV AX, DSEG
MOV DS, AX
MOV ES, AX
; 加法操作:
LEA SI, DATA1
MOV AX, [SI]
ADD AX, DATA2
MOV [2800H], AX
HLT ; 程序停止
; return to operating system:
RET
START END
CSEG ENDS
END START ; 设置入口点
```
这个程序首先设置了数据段和堆栈段,然后加载了数据段的地址到DS和ES寄存器。接着,它使用LEA指令获取DATA1的地址,并将数据加载到AX寄存器,然后使用ADD指令将DATA2的值加到AX中。将结果存储到偏移地址3800H处,并使用HLT指令停止程序运行。
实验过程还涉及到了程序的调试,这通常包括检查和修改内存中的数据、设置断点、单步执行以及检查标志位状态等。通过Emu8086软件,学生可以直观地观察到程序的执行流程,从而更好地理解和掌握微机原理中的基本概念。
这个实验是微机原理教学的重要组成部分,它不仅锻炼了学生的编程技能,也强化了他们对汇编语言、运算类指令和微处理器工作原理的理解。通过这样的实践,学生能够为后续的计算机科学课程打下坚实的基础。