您的当前位置:首页正文

微机原理实验91036

2022-03-11 来源:易榕旅网
微机原理实验91036

实验一 初级程序的编写与调试实验

一、实验目的

(1) 掌握汇编语言程序设计的基本方法和技术; (2) 娴熟掌握使用全屏幕编写程序

EDIT 编写汇编语言源程序;

(3) 娴熟掌握宏汇编程序 MASM的使用; (4) 娴熟掌握链接程序 LINK 的使用。 二、实验要求

(1) 掌握汇编语言程序设计上机过程; (2) 回答思虑问题; (3) 记录实验结果。 三、实验内容

编写一个名字为的源程序, 该程序的功能是在计算机屏幕上显示一个字符串 “ HELLO!”。四、实验提示

按以下操作步骤进行实验。 (1) 编写源程序

DOS编写器编写以下源程利用 Windows XP 操作系统附件中的“记事本”或许 序:

DATA

SEGMENT

S1 DB 'HELLO!','$'

DATA

ENDS

STACK SEGMENT PARA STACK

DB 64 DUP()

STACK ENDS CODE

SEGMENT

MAIN PROC FAR

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

START: PUSH

DS

MOV AX,0 PUSH AX

MOV AX,DATA

微机原理实验91036

MOV DS,AX

MOV AX,STACK

MOV SS,AX

MOV AH,09H

MOV DX,OFFSET S1

INT 21H

RET

MAIN ENDP

CODE

ENDS

END START

把程序保留在 d:/masm5 文件夹下。

(2) 汇编

windows 环境下经过开始—〉运转——〉输入

CMD回车(进入 DOS系统)——〉输入

D:回车——〉输入 CD空格 MASM5(进入 D盘下 MASM5然见的根目录)。在光标处输入 MASM 文件名,回车进行编译。 ( 比如文件名为则履行的操作为: d:\\masm5>masm 履行上述操作命令以后将在

屏幕上显示以下信息:

Microsoft(R) Macro Assembler Version

Copyright(C) Microsoft Corp 1981-1985, rights reserved

Object filename[]

Source listing[]:

Cross reference[]:

50678 + 410090 Bytes symbol space free 0 warning Errors 0 Severe Errors

在汇编过程中产生了三个文件, 接按 Enter 键。

其默认的文件名显示在屏幕上,

假如不需要做任何改变就直

经过屏幕上的显示, 能够认识到在本次汇编过程中没有发生错误和警示, 所以能够持续进行链接操作。

(3) 链接

在光标处输入 LINK 文件名,回车进行链接。

履行上述命令后将在屏幕上显示以下信息: Microsoft(R) Overlay Linker Version

微机原理实验91036

Copyright(C) Mirosoft Corp rights reserved

Run File[]

List File[]:

Libraries[.LIB]:

在链接过程中产生了两个文件, 其默认的文件名显示在屏幕上,

就直接按回车键。关于库文件一栏,

假如不需要使用库文件,

假如不需要做任何改变

能够直接按 Enter 键;假如需

要使用库文件,则要求输入所使用的库文件名字。

(4) 运转

在光标处输入文件名,回车运转可履行文件。 在屏幕上输入回车就能够看到“

HELLO!”的字样了。

五、实验报告

(1) 画出程序流程图;

(2) 调试说明

包含上机调试的状况、 上机调试步骤、 调试过程中所碰到的问题是如何解决的,

试过程中的问题进行剖析,对履行结果进行剖析。

六、思虑题

(1) 汇编过程中 MASM ABC和 MASM 的结果能否一致。 (2) 链接过程中 LINK ABC 和 LINK 的结果能否一致。

并对换

微机原理实验91036

实验二 字符输入输出及字符串显示实验

一、实验目的

(1) 娴熟掌握微机汇编语言源程序的编写、汇编、链接和履行等过程。 (2) 深入理解 DOS系统功能调用的过程。 (3) 学会用常用的 DOS系统功能调用编写程序。 二、实验内容

(1) 输入一个小写字母显示它对应的大写字母。

(2) 输入一个字符,假如 R 就返回 DOS,不然在屏幕上显示该字符。 (3) 在屏幕上显示一个字符串:

三、实验要求

Welcome to microcomputer laboratory

(1) 实验前要作好充足准备,编写好源程序,考虑清楚运转步骤。 (2) 本实验要求在 PC机长进行。 四、编程提示

(1) 程序中心提示

重点是找出小写字母和大写字母之间的联系。

要显示一个字符, 其实计算机办理的是它

的 ASCII 码。由 ASCII 码表可知 26 个小写字母 a~z 的 ASCII 码分别为 61h~7Ah, 26 个大写

字母 A~Z 的 ASCII 码分别为 41h~5Ah,所以小写字母比对应的大写字母的

ASCII 码大 20h,

ASCII 码了。

也就是说小写字母的

ASCII 码减少 20h 就能够获得对应的大写字母的

还要清除一些特别的状况: 比如,输入的不是小写字母。 这就要在转变以前作一个判断,

若不是小写字母的字符,则跳转的程序履行的开始处,从头接收键盘的输入。

(2) 程序选择分支判断

① 程序出现分支时,要注意程序的走向,注意两路分支能否能够归并。 ② 在每次输入字符时,考虑增添回车或换行符。

(3) 程序结束办理提示

返回 DOS状态能够用 4CH号功能调用。即:

MOV AH,4CH

微机原理实验91036

INT 21H

五、实验报告

(1) 程序说明

说明程序的功能、构造。包含:程序名、功能、算法说明、主要符号,并对所用到的寄 存器、功能调用号进行说明。

(2) 调试说明

包含上机运转的状况、 上机调试步骤、 调试过程中所碰到的问题是如何解决的,

试过程中的问题进行剖析,对履行结果进行剖析。

(3) 画出程序流程图。 (4) 写出程序和履行过程清单。 六、思虑题

假如给出 Welcome to microcomputer laboratory

!,要求写出相应的机器代码,如何实现,与本次实验对应什么关系剖析其详细过程并画出程序流程图。

实验六 储存器读写实验

一、实验目的

(1) 掌握 PC机外存扩展的方法。 (2) 熟习 6264 芯片的接口方法。 (3) 掌握 8086 十六位数据储存的方法

二、实验内容

向 02000~ 020FFH单元的偶地点送入 AAH,奇地点送入 55H。

三、实验原理介绍

本实验用到储存器电路。

四、实验步骤

(1) 实验接线:本实验无需接线。

(2) 编写调试程序。

并对换

微机原理实验91036

(3) 运转实验程序,可采纳单步、设置断点方式,翻开内存窗口可看到内存区的变化。 五、实验提示

(1) 本实验中 RAM区的开端地点为 02000H,编程时段地点可设为 0100H,则偏移地点为

1000H。

(2) 假如按字节进行储存, 则 AL 为 55H 或 AAH;假如按字进行储存, 则 AX应为 55AAH。

(3) 6264 、 62256 等是计算机系统扩展中常常用到的随机储存器芯片(

RAM),主要用

作数据储存器扩展。本实验所进行的内存置数在程序中常常用到。计算机系统运转中会频 繁地进行内存与外设或许内存与内存之间的数据传输,所以本实验固然简单但对理解系统

程序的运转很重点,望学习和实验时仔细对待。

六、程序流程图

程序流程图如右图所示。

七、程序源代码清单

code segment ;define data segment

assume cs:code org 0100h

start: mov ax,0100h

mov ds,ax mov es,ax mov si,1000h mov cx,0100h mov al,0

intram: mov [si],al

inc si

loop intram

;

将 1000h-1100h

地点单元清零

mov si,1000h mov cx,100h mov ax,55aah

微机原理实验91036

fil: mov [si],ax

inc si inc si loop fil nop jmp start

code ends end start 八、思虑题

(1) 若编程时段地点设为 500H,则偏移地点为多少那么程序中如何改正 (2) 若向 2000H~20FFH单元送入数据, 连续 4 个单元送入的数据分别为

66H,这样来去循环,则程序该如何改正(方法不独一)

(3) 假如放入数据的个数是

50H,则程序应如何改正

AAH、55H、BBH、

; 将偶地点置为 AAH,奇地点置为 55H

;end of code segment

;end assembly

注意:思虑题中程序的改正都不是独一的。

实验七

简单 I/O 口扩展实验

一、实验目的

(1) 熟习 74LS273, 74LS244 的应用接口方法。

(2) 掌握用锁存器、三态门扩展简单并行输入、输出口的方法。 二、实验内容

逻辑电平开关的状态输入

74LS244,而后经过 74LS273 锁存输出,利用

LED 显示电路

作为输出的状态显示。

三、实验原理介绍

本实验用到两部分电路:开关量输入输出电路,简单

I/O 口扩展电路。

四、实验步骤

(1) 实验接线: CS0 连结 CS244,CS1 连结 CS273,平推开关的输出

IN0 ~ IN7 ,O0~ O7对应连结 LED1~ LED8。

K1~ K8 对应连结

微机原理实验91036

(2) 编写程序,单步运转,调试程序

(3) 调试通事后,全速运转程序,观看实验结果。 (4) 编写实验报告。 五、实验提示

74LS244 或 74LS273 的片选信号能够改变,

比如连结 CS2,此时应同时改正程序中相应

的地点。 六、实验结果

程序全速运转后,逻辑电平开关的状态改变应能在

K2 置于 L 地点,则对应的 LED2应当点亮。

七、程序框图 (实验程序名 : )

八、程序源代码清单

assume cs:code

code segment public org 100h

start: mov dx,04a0h

;74LS244 地点

in al,dx

;

读输入开关量

mov dx,04b0h ;74LS273 地点

out dx,al ;

输出至 LED

jmp start code ends end start

九、思虑题

LED上显示出来。比如:

微机原理实验91036

(1) 有 8 个发光二极管,其阴极上加低电平则亮,用

74LS273 芯片作为 I/O 接口与

8086CPU通讯,要求这些二极管同时亮或灭,

同时二极管亮或灭的时间分别为

50ms 和 20ms。

试画出其硬件接口电路,并编写程序达成要求(时间控制可调用软件延时子程序)

(2) 同上题,要求发光二极管由低位向高位挨次循环显示,且每个二极管显示时间为

1 秒。编写实现该功能的程序。

因篇幅问题不能全部显示,请点此查看更多更全内容