实验一 微机原理 系统认识试验报告

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

实验报告

课程名称微型计算机原理原理与接口技术实验项目系统认识、数码转换、运算编程实验实验仪器Wmd86联机软件、PC机一台

学院____信息管理学院_ ___

专业信息安全

班级/学号信安1001班/2010012233

学生姓名姚兴仁

实验日期2012/04/09

成绩______________________

指导教师_________ ________

实验一系统认识、数码转换、运算编程实验

一、实验目的

1.掌握TDN86/88教学系统的基本操作。

2.学习数码转换的程序设计方法;

3.学习运算编程方法。

二、实验设备

1.PC机一台;

2.TDN86/88教学实验系统一台。

三、实验内容及步骤

1.系统认识实验

从3500H内存单元开始建立0-15共16个数据。

实验程序如下:

STACK1 SEGMENT STACK ;8088 宏汇编程序

DW 64 DUP(?) ;定义堆栈段

STACK1 ENDS

CODE SEGMENT ;定义代码段

ASSUME CS:CODE

START: MOV DI,3500H ;程序开始设数据区首址

MOV CX,0010H ;字节数送入CX中

MOV AX,0000H

A1: MOV [DI],AL ;写入一字节

INC DI ;修改地址指针

INC AX ;修改数据

DAA ;十进制调整

LOOP A1 ;未填完转移

A2: JMP A2

CODE ENDS ;代码段结束

END START ;程序结束

实验步骤

(1)启动Wmd86联机软件

Wmd86联机软件的启动方式有两种,可以在【开始】/【程序】/【TangDu】菜单中单击“Wmd86”的程序组启动,也可以直接双击桌面上的“Wmd86”快捷键启动该程序组。启动应用程序进入主界面窗口后,应显示“串口通讯成功”小窗口,若显示“串口通讯不成功”,

说明上位机和下位机的连接不正常或下位机死机,请确认下位机电源已经打开,串口线两端接触良好。

(2)输入源程序,检查无误后存盘。

(3)对源程序进行编译、链接和加载,可以使用编译菜单项,也可以使用编译工具栏。

(4)运行程序,观察结果。

连续运行程序,在输出区中的调试区用DEBUG命令观察运行结果,即键入D0000:3500 ↙,可查看3500H-350FH单元中的内容是否为0-15共16个数。注意,因本程序的结尾为死循环,应在程序运行后停止运行再观察结果。

(5)熟悉系统提供的单步运行、断点运行等功能,可以使用调试菜单项,也可以使用调试工具栏。

2.数码转换实验(将十进制数的ASCⅡ码转换为BCD码)

设从键盘输入的五位十进制数的ASCⅡ码已存放在3500H起始的内存单元内,把它转换为 BCD 码后,再按位分别存入 350AH 起始的内存单元内。若输入的不是十进制数的ASCⅡ码,则对应存放结果的单元内容为“FF”。具体方法是,一字节ASCⅡ码取其低四位即变为BCD码。实验程序如下:

STACK1 SEGMENT STACK

DW 64 DUP(?)

STACK1 ENDS

CODE SEGMENT

ASSUME CS:CODE

START: MOV CX,0005H ;循环计数器赋初值

MOV DI,3500H ;ASCⅡ码首址

A1: MOV BL,0FFH ;将错误标志送入BL

MOV AL,[DI] ;送ASCⅡ码至AL

CMP AL,3AH ;比较AL与3A

JNB A2 ;不低于3A则转A2

SUB AL,30H ;低于3A则取ASCⅡ码低4位

JB A2 ;低于30则转A2

MOV BL,AL ;否则AL内容送入BL,取代FF

A2: MOV AL,BL ;结果或错误标志送入AL

MOV [DI+0AH],AL

INC DI

LOOP A1

A3: JMP A3

CODE ENDS

END START

实验步骤

(1)阅读程序,画出程序流程图。

(2)输入源程序,进行编译、链接和加载。

(3)在3500-3504H单元中存放五位十进制数的ASCⅡ码,即在调试区键入E0000:3500↙,并输入31、32、33、34、35。

(4)连续运行程序后停止运行,查看运行结果,即在调试区键入D0000:350A ↙,显示结果应为:0000:350A 01 02 03 04 05 CC …

(5)反复试几组数,并运行程序,观察结果。

3.运算编程实验(二进制双精度加法运算)

计算X+Y=Z,将结果Z存入某存储单元。实验程序如下:

STACK1 SEGMENT STACK

DW 64 DUP(?)

STACK1 ENDS

DATA SEGMENT

XL DW ? ;请在此处给X低位赋值

XH DW ? ;请在此处给X高位赋值

YL DW ? ;请在此处给Y低位赋值

YH DW ? ;请在此处给Y高位赋值

ZL DW ?

ZH DW ?

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV AX,XL ;X低位送AX

ADD AX,YL ;X低位加Y低位

MOV ZL,AX ;存低位和

MOV AX,XH ;X高位送AX

ADC AX,YH ;X高位加Y高位

MOV ZH,AX

A1: JMP A1

CODE ENDS

END START

本实验程序是双精度(2个16位,即32位)运算,利用累加器AX,先求低十六位和,并存入低址存储单元,后求高16位和,再存入高址存储单元。由于低位和可能向高位有进位,因而高位字相加语句需用ADC指令,则低位相加有进位时,CF=1,高位字相加时,同时加

上CF中的1。

实验步骤

(1)输入源程序,进行编译、链接和加载。

(2)运行程序并检查结果。

(3)反复试几组数,考察程序的正确性。

试验一结果:

相关文档
最新文档