实验报告二 两数运算实验

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

信息工程学院实验报告

课程名称:微机原理与接口技术

实验项目名称:两数运算实验 实验时间:

班级: 姓名: 学号:

一、实 验 目 的

1. 掌握运算类指令编程及调试方法。

2. 掌握运算类指令对各状态标志位的影响及测试方法。 二、实 验 设 备

PC 微机一台、TD-PITD+实验系统一套。

三、实 验 原 理

80x86 指令系统提供了实现加、减、乘、除运算的基本指令,可对表 2-4-1 所示的数据类型进行算术运算。

1.二进制双精度加法运算

本实验要求计算 X+Y=Z ,将结果 Z 输出到屏幕,其中 X=001565A0H ,Y=0021B79EH 。

实验利用累加器 AX ,先求低十六位和,并存入低址存储单元,后求高 16 位和,再存入高址存储单元。由于低位和可能向高位有进位,因而高位字相加语句需用 ADC 指令,则低位相加有进位时,CF=1,高位字相加时,同时加上 CF 中的 1。在 80386 以上微机中可以直接使用 32 位寄存器和 32 位加法指令完成本实验的功能。实验程序参考如下。

实验程序清单(例程文件名为:A4-1.ASM )

STACK1 SEGMENT STACK DW 256 DUP(?) STACK1 ENDS DA TA SEGMENT

MES1 DB 'The result is:$' XL DW 65A0H XH DW 0015H YL DW 0B79EH YH DW 0021H DA TA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DA TA

START: MOV AX,DA TA

MOV DS,AX

MOV DX,OFFSET MES1

MOV AH,09H

INT 21H

MOV AX,XL

ADD AX,YL

MOV BX,AX

MOV AX,XH

ADC AX,YH

PUSH BX

CALL SHWORD

POP BX

MOV AX,BX

CALL SHWORD

WAIT1: MOV AH,1 ;判断是否有按键按下

INT 16H

JZ WAIT1 ;无按键则跳回继续等待,有则退出

MOV AX,4C00H

INT 21H

SHWORD PROC NEAR

MOV BL,AH

CALL SHOW

MOV BL,AL

CALL SHOW

RET

ENDP

SHOW PROC NEAR

PUSH AX

PUSH DX

MOV AL,BL

AND AL,0F0H ;取高4位

SHR AL,4

CMP AL,0AH ;是否是A以上的数

JB C2

ADD AL,07H

C2: ADD AL,30H

MOV DL,AL ;show character

MOV AH,02H

INT 21H

MOV AL,BL

AND AL,0FH ;取低4位

CMP AL,0AH

JB C3

ADD AL,07H

C3: ADD AL,30H

MOV DL,AL ;show character

MOV AH,02H

INT 21H

POP DX

POP AX

RET

ENDP

CODE ENDS

END START

四、实验内容与步骤

(1)运行Tdpit 集成操作软件,进入编辑调试集成环境。

(2)根据程序设计使用语言不同,在“语言设置”菜单项中设置所使用的语言。如图 2-1 所示。该项一经设置,会再下次启动后仍保持不变。

图2-1 设置语言环境

(3)开始新建文件进行编程。点击“文件”菜单项中的“新建”,可以新建一个空白文档。默认名为Td-pit1。如图2-2 所示。

图2-2 新建空白文档

(4)编写程序,如图2-3 所示,并保存,此时软件会提示输入新的文件名,输入文件名后点击保存。

图2-3 程序编辑界面

(5)点击,编译文件,若程序编译无误,然后再点击,连接程序。编译连接成功会在输出信息栏显示输出信息,如图2-4 所示。

图2-4 编译连接输出信息

(6)编译连接成功后可以点击,运行程序,查看运行结果。

(7)可以点击,调试程序,进入调试界面,进行程序的调试。

五、实验结果及分析:

(1) 编译连接成功后点击,直接运行程序,运行结果如图2-5所示。

图2-5 运行程序结果窗口

(2)编译连接无误后,点击,进入调试环境,进行程序的调试,按F2键选择显示字符串’The result

is:’后为断点,如图2-6 所示。按F8运行,运行结果如图2-7 所示。

图2-6 调试环境

图2-7 显示字符串

(3)在调试环境中,按F2键选择XL和YL相加后为断点,按F8运行,观察AX寄存器,如图2-8所示。

图2-8 调试环境窗口

(4)在调试环境中,按F2键选择X和Y相加后为断点,按F8运行,观察寄存器AX(XH和YH相加的结果)和BX(XL和YL相加的结果),如图2-9 所示。

图2-9 调试环境

(5)在调试环境中,选择显示寄存器AX的值作为断点,运行程序的结果如图2-10 所示。

图2-10 程序运行结果

(6)程序需要显示运行的状况和结果,还需要一些提示信息的显示如“Press any key to exit!”。利用DOS 功能调用完成这些提示信息的显示,程序运行结果,如图2-11所示。

相关文档
最新文档