8088微机原理及接口技术报告

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

微机原理及接口技术

实验报告

课程(项目)名称:微机原理与接口技术学院:自动化专业:自控姓名:学号:

指导教师:成绩:

2014年11 月26 日

实验一认识实验及多字节加减法程序

一、任务与目的

1. 实验任务:

(1) 熟悉和掌握MASM汇编程序及TD调试软件的使用;

(2) 熟悉代码段、数据段、堆栈段的结构;

(3) 掌握8086/8088汇编程序的结构;

(4) 掌握多字节加减法程序的编写。

2. 实验目的:

(1). 掌握8086/8088汇编程序及调试程序的基本使用方法;

(2) 熟悉8086/8088汇编语言编写的基本结构;

(3) 熟悉多字节加减算术运算的基本方法。

二、原理(条件)

1.相关知识:

(1) MASM汇编程序及TD调试软件的使用方法;

(2) 8086/8088汇编程序结构及算术运算等相关指令。

2.实验条件:

MASM汇编程序及TD调试软件。

三、内容步骤

1.启动TD(Turbo Debugger)输入程序段,观察执行情况并分析结果:(1) MOV BL,08H

MOV CL,BL

MOV AX,03FFH

MOV BX,AX

MOV [0200H],BX

MOV ES:[0300H],AX

(2) MOV AX,0A268H

MOV SI,9D1CH

ADD AX,SI

AX= 3F84H CF= 1 AF= 1 ZF= 0 PF= 1 OF= 1 SF= 0 ADD AL,30H

AX= 3FB4H CF= 0 AF= 0 ZF= 0 PF= 1 OF= 0 SF= 1

ADC AX,0FFFFH

AX= 3FB3H CF= 1 AF= 1 ZF= 0 PF= 0 OF= 0 SF= 0

分析:第一个是两个字相加,第二个是两个字节相加,第三个是两个字带进位相加,AX内结果改变的同时,FLAGS标志位也相应发生变化。

(3) 输入程序段,分步运行:

MOV AX,0102H

MOV BX,0304H

MOV CX,0506H

MOV DX,0708H

PUSH AX

PUSH BX

PUSH CX

PUSH DX

POP DX

POP CX

POP BX

POP AX

分析:该段程序是对栈的操作,将AX,BX,CX,DX先后栈之后再出栈,观察到进栈出栈时栈内变化及SP指针值的变化。

2.编写多字节加/减汇编程序,观察执行情况并分析结果

利用MASM宏汇编程序及TD程序进行调试。

(1)编写多字节加法汇编程序:

DATA SEGMENT

BUFFER1 DB 4FH,0B6H,7CH,34H,56H,1FH

BUFFER2 DB 13H,24H,57H,68H,0FDH,9AH

SUM DB 6 DUP(?)

CONT DB 3

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV SI,OFFSET BUFFER1

MOV DI,OFFSET BUFFER2

MOV BX,OFFSET SUM

MOV CL,CONT

MOV CH,0

CLC

GOON: MOV AX,[SI]

SBB AX,[DI]

INC SI

INC SI

INC DI

INC DI

MOV [BX],AX

INC BX

INC BX

LOOP GOON

MOV AH,4CH

INT 21H

CODE ENDS

END START

(2)编写多字节减法汇编程序:

(3) 3.编写多字节加/减汇编程序时,考虑最高字节相加或相减时产生进

位或借位程序应如何编写?请思考。

四、数据处理(现象分析)

1、使用TD输入程序结果

(1)

分析:通过TD观察到执行一段程序相应的单元就跟着改变,将AX单元的值给BX单元,再将BX单元的值送入DS段中的[0200H]单元,最后将AX 单元内容送入到ES段中偏移地址是[0300H]单元内。

(2) MOV AX,0A268H

MOV SI,9D1CH

ADD AX,SI

AX= 3F84H CF= 1 AF= 1 ZF= 0 PF= 1 OF= 1 SF= 0

ADD AL,30H

AX= 3FB4H CF= 0 AF= 0 ZF= 0 PF= 1 OF= 0 SF= 1

ADC AX,0FFFFH

AX= 3FB3H CF= 1 AF= 1 ZF= 0 PF= 0 OF= 0 SF= 0

分析:第一个是两个字相加,第二个是两个字节相加,第三个是两个字带进位相加,AX内结果改变的同时,FLAGS标志位也相应发生变化。

(3) 输入程序段,分步运行:

MOV AX,0102H

MOV BX,0304H

MOV CX,0506H

MOV DX,0708H

PUSH AX

PUSH BX

PUSH CX

PUSH DX

POP DX

POP CX

POP BX

POP AX

相关文档
最新文档