微机原理与应用_实验指导书

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

目录

第一篇汇编语言程序设计

实验一汇编语言上机操作 2

实验二分支循环程序设计8 实验三显示程序设计13 实验四键盘程序设计18 实验五运算类程序设计24

第二篇微机硬件实验系统

实验一简单I/O口扩展实验 48 实验二 8255并行口实验 51 实验三 8253定时器/计数器接口实验 54 实验四 8250串口实验 58 实验五存储器扩展实验 67 实验六 8259中断控制器实验 70 实验七基于定时中断的实时控制综合实验 75 附录1 8086 CPU系统资源说明85 附录2 ASCII码表 86 附录3DEBUG 主要命令 87 附录4 DOS系统功能调用 91

第一篇汇编语言程序设计

实验一汇编语言上机操作训练—比较字符串

实验项目名称:比较字符串

实验项目性质:普通

所属课程名称:微机原理与应用

实验计划学时:2

一、实验目的

1、学习程序设计的基本方法和技能;

2、熟练掌握汇编语言设计、编写、调试和运行;

二、实验内容和要求

1、汇编语言程序上机操作方法

编写一程序,比较两个字符串STRING1和STRING2所含字符是否相同,若相同则在屏幕上显示‘MATCH’,否则,显示‘NOT MATCH’。

三、实验主要仪器设备和材料

1、计算机一台

四、实验方法、步骤及结构测试

1、建立ASM文件

在WINDOWS系统环境下,调用写字板编辑程序建立源文件。

在DOS系统环境下,调用EDIT全屏幕编辑程序建立源文件。

C:>EDIT↓

;Program Title Goes Here—Compare string

;****************************************

Data segment ;define data segment String1 db ‘Move the cursor backward.’

String2 db ‘Move the cursor backward.’;

Mess1 db ‘Match.’,13,10,’$’

Mess2 db ‘No Match.’,13,10,’$’Data ends

;*************************************** Program segment ;define code segment

Main proc far

Assume cs:program,Ds:data,Es:data Start: ;starting execution address Push ds ;set up stack for return

Sub ax,ax

Push ax

Mov ax,data ;data segment address

Mov ds,ax

MOV es,ax

;main part of program goes here

Lea si,string1

Lea di,string2

Cld

Mov cx,25

Repz cmpsb

Jz MATCH

Lea dx,mess2

Jmp short disp

Match:Lea dx,mess1

Disp: Mov ah,09

Int 21h

Ret ;reture to DOS

Main endp ;end of main part of program Program ends ;end of code segment

End start ;end assembly

写完后保存文件名为*.ASM。

2、用汇编程序MASM对源文件“*.asm”汇编产生目标文件*.obj;

在WINDOWS环境下,点击MASM文件,而后输入*.asm的文件名;

在DOS环境下:

C: >masm *.asm↙

The IBM Personal Computer MACRO Assembler Version 1.00 (C) Copyright IBM Corp 1981

Warning Severe

Error Error

0 0

如汇编过程出错则在屏幕上显示出错信息。

3、用连接程序LINK产生可执行文件*.exe.

在WINDOWS环境下,点击LINK文件,而后输入*.obj的文件名;

在DOS环境下:

C: >link *.obj↙

IBM 5550 Multistation Linker 2.00

(C) Copyright IBM Corp.1983

Waring: No STACK segmengt

There was 1 arror detected

4、执行程序

在WINDOWS环境下,点击*.exe文件运行程序;在DOS环境下:

C: >*.exe↙

MATCH.

在屏幕终端上显示程序的运行结果。

5、用DEBUG调试程序

①输入命令:C: >debug *.exe↙

幕上显示提示符:-

②-G(运行命令)

MATCH.

PROGRAM TERMINATED NORMALLY

在DEBUG中修改字符串内容,先用U命令显示程序,以便了解指令地址。

③-U(反汇编命令)显示程序结果如示:

-U↙

19F3:0000 1E PUSH DS

19F3:0001 2BC0 SUB AX,AX

19F3:0003 50 PUSH AX

19F3:0004 B8EE19 MOV AX,19EE

19F3:0007 8ED8 MOV DS,AX

19F3:0009 8EC0 MOV ES,AX

19F3:000B 8D360000 LEA SI,[0000]

19F3:000F 8D3E1900 LEA DI,[0019]

19F3:0013 FC CLD

19F3:0014 B91900 MOV CX,0019

19F3:0017 F3 REPZ

19F3:0018 A6 CMPSB

19F3:0019 7406 JZ 0021

19F3:001B 8D163B00 LEA DX,[003B]

19F3:001F EB04 JMP 0025

-U↙

19F3:0021 8D163200 LEA DX,[0032]

19F3:0025 B409 MOV AH,09

19F3:0027 CD21 INT 21

19F3:0029 CB RETF

19F3:002A FF7501

相关文档
最新文档