问题标签 [68000]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
640 浏览

assembly - 用于easy68k的合并排序

有人在 m68k 中做过合并排序吗?

谢谢。约翰

0 投票
4 回答
2460 浏览

assembly - 随机数生成

如何使用 1--4 范围内的汇编代码生成随机数?

0 投票
3 回答
5404 浏览

assembly - 在栈上传递参数

当您将参数传递给 cpu 堆栈上的函数时,

你把参数放在上面,然后 JSR 把返回地址放在堆栈上。因此,这意味着在您的函数中,您必须先取出堆栈的顶部项目(返回地址),然后才能取出其他项)

返回值按惯例存储在寄存器中D0

例如,以下是正确的方法吗:

0 投票
2 回答
614 浏览

macos - 经典 MacOS 进入程序时,68000 堆栈上有什么?

我试图了解一个旧的经典 Mac 应用程序的入口点。我已经反汇编了第一个 CODE 资源(不是 CODE#0,它是跳转表)。代码引用堆栈外的一些变量:0004(A7) 处的一个字,从 000C(A7) 开始的长字数组,其长度是 0004(A7) 处的值,以及该数组之外的最后一个长字似乎是指向字符串的指针。

长词数组乍一看像字符串,所以表面上看起来就像我们在处理 (int argc, char ** argv) 情况,除了“argv”数组在堆栈帧中是内联的。

当一个程序第一次被 Mac OS 调用时,它的堆栈/寄存器应该期待什么?

0 投票
2 回答
4989 浏览

assembly - 不同的68k模拟器有不同的TRAP任务吗?

我最近一直在重温摩托罗拉 68000 的编程。诚然,当我参加这门课程时,我只是做了必须通过的事情(并且遇到了一个糟糕的教授)……但现在我实际上对这些东西很感兴趣。无论如何,翻阅我的旧教科书James L. Antonakos 的 68000 微处理器,他使用以下代码:

这不会在Easy68k中编译,但本书引用了 ASM68K。当我将代码更改为此时,它起作用了。

这仅仅是由于编译器之间的差异吗?还是我在这里错过了更大的东西?我知道在模拟器中TRAP #15执行当时寄存器 D0 中的任何任务,但是每个模拟器是否有不同的陷阱任务,或者是所有 68000 个处理器的标准?

0 投票
1 回答
1998 浏览

assembly - 如何存储带分数的十进制数?

如果我想存储 10.125 它是怎么做的?

我有这个:

并在调试中存储为:

00001000= 0000000A

那似乎没有得到分数部分。这是组装 68k。

0 投票
2 回答
9637 浏览

assembly - 68k汇编中的基本for循环?

我正在尝试编写一个需要使用 for 循环等的程序。我很难在其他网站上找到诸如此类的基本代码示例。

如果有人可以为我提供一个简单的 for 循环,或者甚至是我应该查看的说明,我会非常感激。如果您知道 68k 初学者教程的好资源,请在下方评论!

谢谢!

0 投票
3 回答
1411 浏览

assembly - 如何更新地址寄存器?

我正在使用 Easy68k 制作一个包含 while 循环的简单程序。

假设寄存器 A0 指向我的数据,即单词。为什么这不起作用?

如果 A0 最初指向数字 2,然后是数字 4,我想要的结果是在第一次移动之后,存储 2,在增量和第三次移动之后,存储 4。但是,最后一步没有效果。

0 投票
3 回答
1304 浏览

assembly - 基本 M68000 问题,Neo Geo - 相关

我想用摩托罗拉68000汇编程序编写一个程序,目标平台是Neo Geo(九十年代的游戏机);这个问题很严肃,我有一个想要实现的特定项目并且我有编程经验(虽然我现在主要编程 Perl/R,但我之前只接触过汇编编程)。

Neo Geo 没有太多可用的文档,但是我有一份来自 Alexander Stante 的文档,其中包含有关格式和存储精灵的位置、内存映射、内存映射寄存器在哪里、图形和声音系统如何工作等信息。

所以应该可以用 68K 汇编器编写程序,在 PC 上汇编它并从 Neo Geo(或模拟器,其中有很多可用的,用于测试)运行它。

我确实有一些 M68 汇编程序的背景,这是我的 CS 硕士期间的一些课程(10 年前);我们在 Sun Sparcstation 上组装并将程序发送到一个附加的盒子,该盒子基本上有一个 M68K,里面有一些 RAM,没有太多其他东西。因此可以将“纯”目标代码加载到 CPU 中。

现在,我对 Neo Geo 的不了解是我必须将汇编代码放入哪种“格式”。

即,如果我组装了一个我用 68K 汇编编写的程序,我怎样才能让它让模拟器认为它是一个 ROM 映像,或者我怎样才能构建一个物理 Neo 的 CD(或 CDZ,就此而言) Geo CD 会接受吗?它会检查文件名还是魔术头?!所以我的问题是,如何将组装的目标代码转换为正确的“文件格式”?!(对不起,我什至不知道这是否是正确的词)。

0 投票
1 回答
2569 浏览

assembly - 如何在 68k 汇编或一般情况下实现浮点 IEEE754 除法?

我必须为 IEEE754 格式的 68k 处理器创建一个浮点实现,并且我已经弄清楚了如何执行所有其他基本操作(从十进制转换、加法、减法、乘法),但我不知道如何做除法。据我了解,您应该将尾数相除,然后减去指数。然而,如果你将尾数相除,你会得到另一个浮点数,这绝对不是我想要也不能使用的(因为 68k 处理器提供的唯一除法函数显示整数除法的结果,以及模余数的答案)。

谁能提供一个例子来说明如何在 68k 处理器上进行这种划分,或者一般情况下我的限制?