0

所以我对汇编语言很陌生,我的教授一直在上课和下课,所以我们没有太多时间真正彻底地阅读课程材料。所以对于我们的项目,我们使用的是 Pep9,我们有几件事要做,我很满意,但我需要帮助开始。

我们第 1 部分的目标是使用 pep9 简单地输入我们的名字。我们使用了 pep9 图 4.33 中内置的一个程序,它打印出字母“Hi”作为我们名字的格式。图中是这样显示的

0000  D1000D  ;Load byte accumulator 'H'
0003  F1FC16  ;Store byte accumulator output device
0006  D1000E  ;Load byte accumulator 'i'
0009  F1FC16  ;Store byte accumulator output device
000C  00      ;Stop
000D  4869    ;ASCII "Hi" characters

横写的样子

D1 00 0D F1 FC 16 D1 00 0E F1 FC 16 00 48 69 zz

我的名字是 Arslan,这就是我按照 ASC11 表编写它的方式

D1 00 25 F1 FC 16 D1 00 26 F1 FC 16 D1 00 27 F1 FC 16 D1 00 28 F1 FC 16 D1 
00 29 F1 FC 16 D1 00 2A F1 FC 16 00 41 72 73 6C 61 6E zz

这会打印出我的名字“Arslan”

现在这是我的问题,我必须手动完成这一切,这意味着我必须从 0000 - 002A 绘制 ram,然后将它们向下移动我需要的量。所以我想问他们是否有更好的方法来做到这一点,这意味着在第一个示例中,字母“H”存储在位置 0D 中,字母“i”存储在位置 0E 中,总共有两个字母,但是当我添加了额外的还有 4 个带有加载和存储指令的字母,所有内容都向下移动,这些字母现在存储在位置 00024 - 0002B 现在是它们的算法或更简单的方法来计算位置将向下移动多少,它是如何从 0D 移动的第一个字母到25?

我觉得对此有一个简单的答案,但我对此很陌生,而且与 C++ 或 JAVA 相比,我对这种语言的速度很慢

4

0 回答 0