首页 > 解决方案 > 从 68k 的 txt 文件中读取

问题描述

我陷入了一个简单的 68k 程序。

程序需要从 txt 文件中读取。txt 文件中是数字,以空格分隔,文件以点 (.)

我需要输入一个文件名并从中读取,计算有多少数字并总结所有邻居数字。

示例:222 10 300 7 450 201 9 117 38 456。结果:邻居总和:232 310 307 457 651 210 126 155 494,数字数量:10。

这是我到目前为止所得到的。使用 D3 表示数字的数量。

START   ORG $1000

    MOVE #0,D3

    MOVE #14,D0
    LEA text,A1
    TRAP #15

    MOVE #2,D0
    LEA name,A1
    TRAP #15

    MOVE #51,D0
    LEA name,A1
    TRAP #15

    MOVE    #53,D0
    MOVE.L  #100,D2
    LEA cont,A1
    TRAP    #15

    MOVE #13,D0
    TRAP    #15

loop    CMP.B #$2E,(A1)
    BEQ dot
    CMP.B #$20,(A1)
    BEQ space


    ADD.L   #1,A1
    JMP loop

space ADD.L #1,D3
    RTS

dot MOVE #14,D0
    LEA sum,A1
    TRAP #15

    LEA end,A1
    TRAP #15
    MOVEA d3,a1
    TRAP    #15

    MOVE.B #9,D0
    TRAP #15

name DS.B 10
cont DS.B 100
text DC.B 'Enter file name:',0
sum DC.B 'Sum of neighbours: ',0
end DC.B 'Number of numbers: ',0

    END START

首先,在屏幕上打印我的 d3 寄存器最简单的方法是什么?第二:由于我当时只移动一个字符,我如何从这 1-3 个字符中制作一个数字?

标签: assemblyeasy68k

解决方案


推荐阅读