文档详情

东华大学微机系统及原理实验报告.pdf

发布:2024-05-25约2.06万字共27页下载文档
文本预览下载声明

-

微机系统及应用实验

实验报告

实验一DEBUG的启动及其基本命令的使用

实验内容:

6:设堆栈指针SP=2000H,A*=3000H,B*=5000H;请仿照例程的格式

编一程序段将A*和B*的内容进行交换。请用堆栈作为两寄存器交换内容的中间

存储单元,用DEBUG调试程序进行汇编与调试。

写出在DEBUG状态下编写、运行步骤6所要求的程序过程(要求包含源程

序)以及调试所中遇到的问题是如何解决的,并对调试过程中的问题进行分析,

对执行结果进行分析。

程序清单:

STACKSEGMENTSTACK

DB2003HDUP(0)

STACKENDS

CODESEGMENT

ASSUMECS:CODE,SS:STACK

START:MOVA*,STACK

MOVSS,A*

MOVSP,2000H

.z.

-

MOVA*,3000H

MOVB*,5000H

PUSHA*

MOVA*,B*

POPB*

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

运行及调试:

进入调试后,运行正常。

进行反汇编调试:

通过追踪指令观察SP、A*、B*变化

可知对SP、A*、B*赋值正确。

将A*入栈后

用显示内存单元内容的命令D观察堆栈段中SP为1FFF,2000的内容

[1FFF]=00,[2000]=30说明已经A*=3000已经放入到堆栈段中。

结果可以看出:A*=5000,B*=3000

结果完成正确!

.z.

-

实验二内存操作数及寻址方法

实验内容:

1、设堆栈指针SP=2000H,A*=3000H,B*=5000H;请编一程序段将A*

和B*的内容进行交换。请用堆栈作为两寄存器交换内容的中间存储单元,用字

处理程序编辑程序,用masm.e*e和link.e*e对源程序进行汇编程和连接,用

DEBUG调试程序。

2、用masm和link对以下程序进行汇编和连接,调试程序在DEBUG调试

程序状态下进行。用单步执行的方法,分析每条指令源地址的形成过程,当数据

传送完毕时,A*中的内容是什么。

程序清单如下:

DATASEGMENT

ORG0300H

ADB12H,23H,34H,45H,56H,67H,78H,89H,9AH

DATAENDS

PROGNAMSEGMENT

ASSUMECS:PROGNAM,DS:DATA

START:MOVA*,DATA

MOVDS,A*

MOVA*,B*

MOVA*,0300H

MOVA*,[0300H]

MOVA*,[B*]

MOVSI,2

MOVA*,0001[B*]

MOVA*,[B*][SI]

MOVA*,0001[B*][SI]

MOVAH,4CH

INT21H

PROGNAMENDS

ENDSTART

对源程序文件汇编,生成目标文件

将目标文件LINK后,生成可执行文件如下:

.

显示全部
相似文档