《微机原理与接口技术》实验指导书(2)

2018-12-27 17:43

F9:运行程序 F10:激活主菜单

Ctrl+Break:终止程序执行 Alt+X:退出TD Tab:切换焦点区域

? 当焦点区域在寄存器显示区中时:

Ctrl+R:切换16位/32位通用寄存器并显示 Ctrl+I:使光条指示寄存器的内容加1 Ctrl+D:使光条指示寄存器的内容减1 Ctrl+Z:使光条指示寄存器的内容清零 Ctrl+C:手动修改光条指示寄存器的内容 ? 当焦点区域在数据显示区中时:

Ctrl+D:修改数据显示格式

Ctrl+G:指定需要显示的内存区域首地址 Ctrl+S:查找指定的字节值表

Ctrl+C:修改光标当前指示存储单元的内容 ? 当焦点区域在代码显示区中时:

Ctrl+G:指定需要显示的代码区域首地址 Ctrl+S:查找指定的指令

数字键/字符:修改光标当前指示指令

五.

1.

实验内容及说明

实验内容:数据传送实验

1) 编程将数据段中的一个字符串传送到附加段中,并输出附加段中的目标字符串到屏

幕上。参见示例出程序。

2) 修改此程序,采用字符串传送指令完成。 2. 实验中使用DOS功能调用(INT 21H):

参见教材《32位微型计算机原理与接口技术》89页 (1)显示字符串

入口:AH=09H

调用参数:DS:DX=串首地址,‘$’为结束字符。

(2)返回DOS系统

入口:AH=4CH

调用参数:AL=返回码

3.有关字符串的操作指令

参见教材《32位微型计算机原理与接口技术》62页 4. 实验目的:通过对该程序进行调试,查看程序段、数据段、附加段装入内存后的分配情况。单步执行数据传送指令后,观察各个寄存器及数据区的内容。

六.

1. 2. 3. 4.

实验步骤

运行Tddebug软件,选择Edit菜单编写实验程序

使用Compile菜单中的Compile和Link对实验程序进行汇编、连接,生成执行文件。 使用Rmrun菜单中的Run运行程序,观察运行结果。

使用Rmrun菜单中的Debug调试程序,查看程序段、数据段、附加段装入内存后的分配情况。单步执行数据传送指令后,观察各寄存器及数据区的内容。过程如下:

6

1) 按F7单步执行,在代码区中有一个三角,表示正在执行的指令。每一条指令的执行

一定会使目标寄存器和状态寄存器发生变化,从相关窗口看结果。 2) 检查内存数据区的内容,关键是找出用户程序的数据段和附加段:

? 方法1:在CPU窗口按Tab键使内存数据显示区成为活动区,按Ctrl+G键,输入:

“DS或ES寄存器的值:偏移地址”,即可显示用户指定的数据区 ? 方法2:选择菜单View| Dump,弹出内存数据显示窗口。 3) 查看执行结果:按Alt+F5,切换到用户窗口。 5.

更改数据区中的数据,考察、调试程序的正确性。

七. 参考程序清单

;数据传送实验,采用相对寻址方式 DDATA SEGMENT ;定义源数据段 MSR DB \LEN EQU $- MSR DDATA ENDS EXDA SEGMENT ;定义附加数据段 MSD DB LEN DUP(?) EXDA ENDS

MYSTACK SEGMENT STACK ;定义堆栈段 DW 20 DUP(?) MYSTACK ENDS CODE SEGMENT ;定义代码段 ASSUME CS:CODE,DS:DDATA,ES:EXDA START: MOV AX,DDATA

MOV DS,AX ;装载数据段寄存器 MOV AX,EXDA MOV ES,AX ;装载附加数据段寄存器 MOV SI,OFFSET MSR MOV DI,OFFSET MSD MOV CX,LEN MOV BX,0

NEXT: MOV AL,MSR[BX] ;开始传输数据 MOV ES:MSD[BX],AL INC BX LOOP NEXT PUSH ES

POP DS ;将附加段寄存器指向的段值赋给数据段寄存器 MOV DX,OFFSET MSD MOV AH,9 INT 21H ;显示字符串 MOV AH,4CH INT 21H ;返回DOS状态

7

CODE ENDS END START

8

实验二、I/O程序设计

一.

1. 2. 3. 4.

实验目的

理解软中断的调用方法及中断过程。

掌握INT 21H软件中断来调用DOS系统I/O子程序的方法。 掌握将存储在内存单元中的数据在屏幕上显示的方法。 掌握从键盘输入信息到内存的方法。

二. 实验设备

PC微机一台

三. 实验预习要求

1.复习DOS功能调用(INT 21H)中用于字符输入(功能号为01H)、字符输出(功能号为02H)、字符串输入(功能号为0AH)以及字符串输出(功能号为09H)的调用方法。参见教材《32位微型计算机原理与接口技术》89页。

2.阅读示例程序,掌握输入/输出方法。

3.从实验内容中任选一道题目,仔细阅读相关的实验要求及说明,编写程序,以便上机调试。

四. 实验内容

1.【示例】:将指定数据区中一个字节的数据以十六进制数形式显示在屏幕上。

设计思路:首先将该数以十六进制数形式分解,然后将每一位分别转换为ASCII码送屏幕显示。其中0H~9H之间的数加30H,即可得0H~9H的ASCII码,而AH~FH的ASCII码,则需再加7H,参见表5-1。参考程序流程如图2-1所示。示例程序参见参考程序清单。 2.编程由键盘输入任意一个字符,将该字符的ASCII码值显示在屏幕上。 3.从键盘输入两个1位十进制数,计算二者之和,并将结果显示在屏幕上。

4.编程由键盘输入任意一位数,将该数以二进制数形式显示在屏幕上,例:5=00000101B

五. 实验说明

存储在内存单元中的数据要显示在屏幕上,必须首先将一个数据区中的数分解为各位不同进制的数(参见表5-1),然后转换为字符,通过DOS功能调用(INT 21H)完成显示。例:

1) 显示单个字符

MOV AH, 02H

MOV DL, 待显示字符的ASCII码 INT 21H 2) 键盘输入并回显

MOV AH, 01H INT 21H

得到按键的ASCII码,存放于AL中

六.

1. 2. 3.

实验步骤

画出实验流程图。

运行Tddebug软件,选择Edit菜单编写实验程序

使用Compile菜单中的Compile和Link对实验程序进行汇编、连接,生成执行文件。

9

4. 5. 6. 使用Rmrun菜单中的Run运行程序,观察运行结果。

使用Rmrun菜单中的Debug调试程序。单步执行指令,观察各寄存器及数据区的内容。 更改数据区中的数据,考察程序的正确性。

七. 参考程序清单及流程

;将指定数据区SD的数据以十六进制数形式显示在屏幕上 DATA SEGMENT

MES DB 'Show a as hex:',0AH,0DH,'$' SD DB 'a' DATA ENDS

CODE SEGMENT

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

MOV DX,OFFSET MES;显示提示信息 MOV AH,09H INT 21H

MOV SI,OFFSET SD MOV AL,DS:[SI]

AND AL,0F0H ;取高4位 MOV CL,4 SHR AL,CL

CMP AL,0AH ;是否是A以上的数 JB C2 ADD AL,07H C2: ADD AL,30H

MOV DL,AL ;显示字符 MOV AH,02H INT 21H

MOV AL,DS:[SI]

AND AL,0FH ;取低4位 CMP AL,0AH JB C3 ADD AL,07H C3: ADD AL,30H

MOV DL,AL ;显示字符 MOV AH,02H INT 21H

MOV AH,4CH ;返回DOS INT 21H CODE ENDS END START

10

图2-1 一个字节数以十六进制数形式显示处理流程


《微机原理与接口技术》实验指导书(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:山东人民出版社五年级下册品社复习题简答含答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: