微机原理与接口技术实验指导书1_[1]...

  • 格式:doc
  • 大小:253.00 KB
  • 文档页数:19

下载文档原格式

  / 19
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微机原理与接口技术实验指导书

编者:王亭岭

华北水利水电学院

电气学院自动化教研室

二零一二年三月

目录

实验一标志寄存器应用 (1)

实验二指令寻址方式练习 (4)

实验三分支结构程序设计 (6)

实验四循环结构程序设计 (7)

实验五子程序结构程序设计 (8)

实验六DOS系统功能调用程序设计 (10)

实验七BIOS中断调用程序设计 (12)

实验八定时器中断程序设计 (14)

实验一标志寄存器应用

一、实验目的与要求

1.掌握汇编程序的编译过程;

2.掌握8086的标志寄存器的特点。

二、实验内容

微型计算机(80x86系列)。

四、实验参考程序

DATA SEGMENT

A DW 123

B DW 456

SUM DW ?

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE , DS:DATA START: MOV AX , DATA

MOV DS , AX

MOV AX , A

SUB AX , B

MOV SUM , AX

MOV AH,4CH

INT 21H

CODE ENDS

END START

五、实验步骤

步骤一、用鼠标单击开始菜单,单击运行。如下图所示:

步骤二、在运行窗口中键入cmd,回车进入命令提示符。如下图所示:

步骤三、在命令提示符中编译汇编源程序并连接*.obj文件。如下图所示:1.C:\>D: 回车

2.D:\ >CD MASM 回车

3.D:\MASM>MASM SY1.ASM 回车

4.D:\MASM>LINK SY1.OBJ 回车

步骤四、在命令提示行中运行并调试汇编程序。如下图所示:1.D:\MASM>SY1.EXE 回车

2.D:\MASM>DEBUG SY1.EXE 回车

六、实验结论

1.程序运行后变量SUM的值是多少?

2.程序运行前后标志寄存器的各标志位有何变化?

3.分析实验结果及所遇到的问题,并说明解决的方法。

实验二指令寻址方式练习

一、实验目的与要求

1.掌握汇编语言调试工具(DEBUG)的基本使用方法;

2.掌握8086的寻址方式。

二、实验内容

练习识别8086相关指令的寻址方式。

三、实验设备

微型计算机(80x86系列)。

四、实验参考程序

DSEG SEGMENT

ARRAY DB 11,56,78,8,76,90,96,33,21,06

COUNT DW $ - ARRAY

RELUST DB ?

DSEG ENDS

SSEG SEGMENT PARA STACK 'STACK'

SDAT DB 50 DUP (?)

TOP EQU LENGTH SDAT

SSEG ENDS

CSEG SEGMENT

ASSUME CS:CSEG , DS:DSEG , SS:SSEG START: MOV AX , DSEG

MOV DS , AX

MOV AX , SSEG

MOV SS , AX

MOV AX ,TOP

MOV SP , AX

MOV BX , OFFSET ARRAY

MOV CX , COUNT

DEC CX

MOV AL , [BX]

AGAIN: INC BX

CMP AL , [BX]

JAE NEXT

MOV AL , [BX]

NEXT: DEC CX

JNZ AGAIN

MOV RELUST, AL

MOV AH, 4CH

INT 21H

CSEG ENDS

END START

五、实验步骤

1.D:\MASM>MASM SY2.ASM

2.D:\MASM>LINK SY2.OBJ

3.D:\MASM>SY2.EXE

4.D:\MASM>DEBUG SY2.EXE

六、实验结论

1.指出参考程序中带下划线的指令中源操作数的寻址方式?

2.程序运行后AL中的值是多少?

3.分析实验结果及所遇到的问题,并说明解决的方法。

一、实验目的与要求

学习并掌握汇编语言分支结构程序设计的方法。

二、实验内容

比较两个无符号数的大小,把大数存入MAX单元。三、实验设备

微型计算机(80x86系列)。

四、实验参考程序

DSEG SEGMENT

NUMBER DB 60H,66H

MAX DB ?

DSEG ENDS

CSEG SEGMENT

ASSUME CS:CSEG,DS:DSEG

START: MOV AX,DSEG

MOV DS,AX

MOV AL,NUMBER

CMP AL,NUMBER+1

JNC BRANCH

MOV AL,NUMBER+1

BRANCH: MOV MAX,AL

MOV AH,4CH

INT 21H

CSEG ENDS

END START

五、实验步骤

1.D:\MASM>MASM SY3.ASM

2.D:\MASM>LINK SY3.OBJ

3.D:\MASM>SY3.EXE

4.D:\MASM>DEBUG SY3.EXE

六、实验结论

1.说明指令JNC的功能?

2.程序运行后变量MAX的值是多少?

3.分析实验结果及所遇到的问题,并说明解决的方法。