assembly - 从 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 个字符中制作一个数字?
解决方案
推荐阅读
- mysql - MySQL 和 Apache 不会在 Mac 上的非 vm XAMPP 中启动
- python - 在python中用for循环填充多个列表
- mysql - 根据唯一值填充新列
- sql - 如何在 SQL 中创建动态数据透视查询
- datetime - 比较两个列表以查找 Elixir 中的日期和时间重叠
- linux - 如何在 Linux 中获取 VSync Display 刷新脉冲?
- ios - UIAlertController .actionSheet 项目之间的分隔符不一样
- sql - Hive:从嵌套的 JSON 中提取数据并追加
- python - 使 argparse 在 python 2 和 3 中的行为方式相同
- azure-devops - 在 Azure DevOps 中,我们如何在未来的容器作业步骤中访问构建工件和构建环境本身?