【发布时间】:2023-02-12 02:58:09
【问题描述】:
COPY START 3000
** LDA THREE
** STA ALPHA
** LDCH CHARC
** STCH C1
** LDCH CHARZ
** STCH C3
ALPHA RESW 3
THREE WORD 3
CHARC BYTE C'FO'
C1 RESB 3
CHARZ BYTE C'EOF'
C3 RESB 3
** END **
这是我得到的输入文件。
正下方是中间文件及其目标代码。
COPY START 3000
3000 ** LDA THREE
3003 ** STA ALPHA
3006 ** LDCH CHARC
3009 ** STCH C1
3012 ** LDCH CHARZ
3015 ** STCH C3
3018 ALPHA RESW 3
3027 THREE WORD 3
3030 CHARC BYTE C'FO'
3031 C1 RESB 3
3034 CHARZ BYTE C'EOF'
3035 C3 RESB 3
3038 ** END **
H^COPY^003000^003038
T^003000^37^333027^443018^533030^573031^533034^573035^000003^464f^454f46
E^003000
我以为文本长度(T 部分)会是“35”,但根据我得到的结果,它是“37”。 我不明白这部分。 有人能告诉我获得长度的确切方法吗?
我的程序(我设计的)也给了我 35 的值,所以这很令人困惑。
【问题讨论】:
-
首先,这个汇编代码是针对什么目标平台的?你用的是什么汇编器?这与 C 有什么关系?
-
@Someprogrammerdude 我必须使用 C 来制作 sic 汇编程序。所以我标记了它,如果这让你感到困惑,我深表歉意。对于目标代码中的地址和文本长度,我被指示使用整数。
-
这是什么平台/架构?
-
@m0skit0 它是用 C 编写的 SIC 汇编程序的模仿。并用 gcc 编译。
-
@m0skit0:它在标题中,所以我添加了 [sic] 标签,因为它存在。为教学目的而存在的众多玩具 ISA 之一。