微机原理实验指导书

  • 格式:doc
  • 大小:4.95 MB
  • 文档页数:15

微机原理实验指导书

课程类型:考查课

专业班级:信息工程与自动化学院通信2013级

学年学期:2014—2015 学年 上学期

课程总学时:16 学时

主讲教师:杨青青

说明:

1. 本次实验为16个学时,以微机原理课程为依托,每两个学时完成一个实验,原理上应该有8份实验报告。

2. 实验报告可采取打印的方式,分析、填写程序等部分应该手写。

实验一 汇编程序上机训练-熟悉指令格式

一、上机环境:

Window7系统,MasmEditor软件

二、实验目的:

1、学习使用在MasmEditor环境下完成汇编语言的编译、连接、运行、调试等。

2、熟悉80X86的指令系统及汇编语言指令格式。

三、实验步骤:

1、编译源程序,生成可执行文件(.exe);

2、用DeBug的各个调试指令,观察寄存器窗口的变化。

四、实验内容:

参照微机原理课程第三章内容,进行课本例题的上机练习,完成程序的调试,例如单步步入、断点设置等,并在寄存器窗口察看各个寄存器的变化,从而也加深对80X86寻址方式的理解。

上机题目:

微机原理教材第三章,例3.1,例3.3,例3.4,例3.6,例3.7,例3.8,例3.11,例3.23,例3.52,例3.64,例3.68,例3.71,例3.73

思考题:

试编程实现:

(1)AL寄存器的第四位清0;

(2)BL寄存器的第四位置1;

(3)CL寄存器的第四位取反;

(4) 测试DL寄存器的最低两位是否为0,若是将0送入AL寄存器;否则将1送入AL寄存器。

五、实验报告要求:

1. 实验报告符合要求格式

2. 完成思考题的编程实现。

实验例题

实验四 汇编程序上机训练-多重循环程序设计

一、上机环境:

Window7系统,MasmEditor软件

二、实验目的:

1. 学习并熟悉汇编的多重循环程序的设计。

2. 进一步熟悉在MasmEditor环境下完成汇编语言的编译、连接、运行、调试等操作。

三、实验内容:

例1:有十位同学的成绩分别是80,100,78,56,79,90,96,88,82,75;编程分别统计低于60分,60-69,70-79,80-89,90-99,100分的人数,并分别存入a100,b90,c80,d70,e60,f50单元中。

参考源程序如下:

DATA SEGMENT

STUNUM DB 10;统计的总人数为10人

GRADE DB 80,100,78,56,79,90,96,82,88,75

A100 DB 0;存放统计结果

B90 DB 0;

C80 DB 0;

D70 DB 0;

E60 DB 0;

E50 DB 0;

DATA ENDS

(1)____________;定义堆栈段

DW 10DUP(?)

STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,SS:STACK,DS:DATA

START:

MOV AX,DATA MOV DS,AX

(2)____________;统计初始值为0

MOV B90,0

MOV C80,0

MOV D70,0

MOV E60,0

MOV F50,0

LEA BX,OFFSET STUNUM

(3)______________;循环次数赋初始值10,提示:循环次数为偏移地址为BX的内存单元的值

(4)______________;给CX的高位CH清零

LEA BX,OFFSET GRADE

COMPARE:MOV AX,[BX];取学生成绩

(5)___________;给AX的高位清零

CMP AX,60

(6)___________;成绩<60,则跳转到FIVE 代码段,执行F50+1

CMP AX,70

JB SIX;60=<成绩<70,则E60+1

CMP AX,80

JB SEVEN;70=<成绩<80,则D70+1

CMP AX,90

JB EIGHT;80=<成绩<90,则C80+1

(7)__________

JB NINE;90=<成绩<100,则B90+1

INC A100;成绩为100,则A100+1

JMP SHORT NEXT

FIVE: INC F50

JMP SHORT NEXT

SIX: INC E60 JMP SHORT NEXT

SEVEN: INC D70

JMP SHORT NEXT

EIGHT: INC C80

JMP SHORT NEXT

NINE: INC B90

NEXT: INC BX

LOOP COMPARE

(8)_______________;统计完毕,返回DOS

(9)____________

CODE ENDS

END START

四、实验报告要求:

1. 实验报告格式符合要求

2. 将以上源程序填写完整,并加以注释。

实验三 汇编程序上机训练-分支程序设计

一、上机环境:

Window7系统,MasmEditor软件

二、实验目的:

1、 掌握分支程序的结构。

2、 掌握分支程序的设计与调试方法。

3、 掌握循环程序设计与调试方法

4、 掌握正确分配与使用寄存器。

三、实验要求:

实验前要做好充分准备,包括汇编程序清单、调试步骤、调试方法,以及对程序结果的分析等。 四、实验内容:

编程实现:分别统计下列20个数中大于5、小于零和大于零且小于等于5的数据个数,分别存入字节单元RES1、RES2和RES3中。

20个数如下:

BUFF DB -1, 20, 3, 30, -5, 15, 100, -54, 0, 4, 78, 99, -12, 32, 3, 23,

-7, 24, 60,-51

程序框图:

开始初始化:循环次数=20存储器指针指向数据缓存从数据缓存中取一数据该数大于5?单元RES1计数加1该数小于0?单元RES2计数加1单元RES1计数加1循环次数小于20?结束

提示:以上编程要求类似于实验四,大家参照实验四的源程序自己进行一下编程,除了参数名称不一样,其他基本相似。

五、实验报告要求:

3. 实验报告符合要求格式

4. 写出程序清单,并加以注释

实验四 汇编程序上机训练-循环程序设计

一、上机环境:

Window7系统,MasmEditor软件

二、实验目的:

学习并熟悉汇编的单循环程序的设计。在MasmEditor环境下完成汇编语言的编译、连接、运行、调试等。

三、实验内容:

编程实现:在自BLOCK开始的存储区域内有10个带符号数。试用冒泡排序法编写一个程序,使它们排列有序(从小到大排序,或者从大到小排序)。

分析:程序涉及多重循环程序的设计。

四、实验报告要求: 5. 实验报告符合要求格式

6. 写出程序清单,并加以注释

实验五 汇编程序上机训练-子程序设计

一、上机环境:

Window7系统,MasmEditor软件

二、实验目的:

1. 掌握住程序与子程序之间的调用关系及其调用方法

2. 掌握自程序调用过程中近程调用与过程调用的区别

3. 掌握通过堆栈传送参数的方法

三、实验内容:

有十位同学的成绩分别是80,100,78,56,79,90,96,88,82,75;编写一个子程序分别统计低于60分,60-69,70-79,80-89,90-100分的人数,跳出循环 开始