以单步模式运行 8085 程序


以单步模式运行程序

单步模式对于查找在一次执行后未产生预期结果的程序非常有用。我们用它进行程序调试。类似地,像要单独执行的操作一样,在“>”提示符处键入“S”。我们可以清楚地注意到,在 S 之后发生了地址更改。给定的系统清楚地提示了以下内容

起始地址为:xxxx - yy/

其中内存地址为 xxxx,位于内存的内容为 yy,允许用户响应所需的单步执行起始地址。如果我们执行程序从指定的地址 xxxx 开始执行,我们响应 。我们表示 代表空格键按下,它在键盘上太宽了。如果程序的位置从 C000H 开始,我们响应“C000”。

之后,系统显示“C000-21/”,其中内存内容 21 的位置为 C000H。然后在我们完成对 的响应后。

检查寄存器命令为了检查寄存器值,我们键入“X”,无需更改地址。整个系统的提示如下

寄存器

要求用户响应所需的寄存器名称。如果要查看寄存器 C 的内容,我们键入 C,无需更改地址 。我们立即得到响应

C5xx-

其中寄存器 C 的内容为 xx,允许用户在为 xx 指定的位置输入新值。例如,如果我们希望寄存器 C 为 36H,我们得到响应 36 和地址更改 。如果用户不需要更改寄存器的内容,则执行对地址更改 的响应。如果是地址更改,即 ,则命令 X 终止,并再次出现提示“>”。如果它变成 ,则系统会自动显示寄存器 D 的内容,允许用户可选地向寄存器 D 输入新值。通过重复使用 ,我们可以看到所有内容,如果需要,我们可以修改所有寄存器的内容。寄存器 A 的序列如下

                                                  A、B、C、D、E、F、I、H、L、SPH、SPL、PCH 和 PCL

这里 F 是标志寄存器,SPH 和 SPL 是 SP 的最高有效位和最低有效字节,PCH 和 PCL 分别是。8 位寄存器 I 提供中断的掩码状态。

显示内存命令为了显示内存内容,我们键入“D”,无需更改地址 。提示如下

起始地址

用户需要响应所需的内存显示起始地址。用户需要以十六进制提供内存地址,无需 H 后缀和 (例如“C200”)。

然后系统提示用户输入结束地址。当用户提供结束地址时,所需内存位置的内容将显示在终端上,“>”提示符重新出现。使用此命令,我们只能查看多个内存位置的内容,但不能更改它们。要修改内存位置的内容,我们使用修改内存命令。

检查寄存器/内存后继续单步执行:我们必须说,在通过几组指令单步执行程序后,寄存器和内存的内容已满足我们的要求。之后,我们继续以单步模式执行程序的其余部分。

我们在提示符“>”处键入“S”,无需更改地址 。系统的提示如下

起始地址为:xxxx - yy

其中 xxxx 是内存地址,位于内存的内容为 yy。指令的正确地址为 xxxx,我们要继续进行单步执行。为了终止单步执行,我们响应地址更改 ,“>”提示符出现。检查寄存器和内存的内容,并继续单步执行,直到程序结束。

显示内存命令:为了显示内存内容,我们键入“D”,无需更改地址 。提示如下

起始地址

用户需要响应所需的内存显示起始地址。用户需要以十六进制提供内存地址,无需 H 后缀和 (例如“C200”)。

然后系统提示用户输入结束地址。当用户提供结束地址时,所需内存位置的内容将显示在终端上,“>”提示符重新出现。使用此命令,我们只能查看多个内存位置的内容,但不能更改它们。要修改内存位置的内容,我们使用修改内存命令。

检查寄存器/内存后继续单步执行:我们必须说,在通过几组指令单步执行程序后,寄存器和内存的内容已满足我们的要求。之后,我们继续以单步模式执行程序的其余部分。

我们在提示符“>”处键入“S”,无需更改地址 。系统的提示如下

起始地址为:xxxx - yy

其中 xxxx 是内存地址,位于内存的内容为 yy。指令的正确地址为 xxxx,我们要继续进行单步执行。为了终止单步执行,我们响应地址更改 ,“>”提示符出现。检查寄存器和内存的内容,并继续单步执行,直到程序结束。

更新于: 2019-07-30

377 次查看

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告