我确定有几个,但是当你彻底崩溃计算机时,我想到的那个会显示一个漂亮的文本屏幕.
文字是"好吧,我是个傻瓜."
HTML十六进制颜色用6位数字写成(3个字节,一个所谓的A hex三元组).Amiga的颜色寄存器采用一个字(2字节,16位)来定义颜色.
例:
必须有某种算法(或/和)一些工具,可以轻松地在HTML颜色和Amiga颜色注册表之间进行转换?或者?...请帮忙:)
我正在关注Jack Crenshaw的编译器教程(如果你看一下我的个人资料,这就是我所有的问题都是关于大声笑的)并且它刚刚到了引入变量的地步.他评论说68k要求所有东西都是"与位置无关"的,这意味着它是"PC相对的".我得到的PC是程序计数器,在x86上它是EIP.但他使用的语法就像MOVE X(PC),D0X是一个变量名.我已经阅读了一点,之前没有说明在.data中声明一个变量.这是如何运作的?为了在x86中工作,我将用什么替换X(PC)MOV EAX, X(PC)?
说实话,我甚至不确定这是否应该输出正常工作的代码,但到目前为止它已经和我已经添加了代码到我的编译器,添加了相应的标题等和批处理文件来汇编,链接和运行结果.
我是初学者,我需要一个图形模拟器来编写基于68000微处理器的汇编程序.我找到了Easy68K模拟器.它的功能和功能都很好,但有没有比Easy68K更新/更好的图形模拟器?我需要最新的一个.
我确实在手册中找到了 MOVE from CCR 指令... http://www.freescale.com/files/archives/doc/ref_manual/M68000PRM.pdf
但我不断收到“无效寻址模式”错误。我尝试了不同形式的语法,无论如何我只想存储进位位,而不是整个 CCR。这些都是我尝试过的语法,但没有成功。它非常明确地指出大小必须是单词。
MOVE.W CCR,D6
MOVE.W CCR,CARRY
MOVE CCR,D6
MOVE CCR,CARRY
MOVE.B CCR,D6
MOVE.B CCR,CARRY
Run Code Online (Sandbox Code Playgroud)
没什么。我究竟做错了什么?有没有更好的方法来专门存储进位位(C)?
例如,MOVE 8,D2 和 MOVE #8,D2 之间有什么区别?只是想知道 # 代表什么以及如果没有它会发生什么。
我对组装很新,我正在尝试建立一个小程序.我无法弄清楚如何使用Easy68k在装配中插入换行符.例如,我开始编写基本的黑色插孔模拟器,我需要在问候第一个玩家后进行换行.我尝试将"\n"结合到变量声明中,但它只是打印出来就好像它是文本的一部分.
根据Easy 68K帮助I/O部分,我可以使用"LF EQU $ 0A新线(换行)"但我不知道如何实现它.
START ORG $400 ; Start of program area
CLR.L D0 ; Clear D0
CLR.L D1 ; Clear D1
CLR.L D2 ; Clear D2
CLR.L D3 ; Clear D3
CLR.L D4 ; Clear D4
CLR.L D5 ; Clear D5
CLR.L D6 ; Clear D6
MOVE.L playerTotal, D2 ; Store Player total in D1
MOVE.L card, D3 ; Store current card in D2
MOVE.B playerAce, D4 ; Store number of aces player has in D3
MOVE …Run Code Online (Sandbox Code Playgroud) 我正在使用Easy 68K模拟器创建一个简单的黑色杰克游戏,需要使用随机数来分配卡片.我的卡必须在2到11的范围内.我似乎每次都得到相同的数字,并且它不在我期望的范围内.我的卡值需要以D3结尾,所以我有以下随机数码:
CLR.L D0
CLR.L D3
MOVE.B #8, D0 ;Access time
TRAP #15
AND.L #$5FFFFF,D1 ;prevent overflow in divu
DIVU #10, D1
SWAP D1
ADDQ.W #1, D1
MOVE D1, D3
Run Code Online (Sandbox Code Playgroud)
我通过修改本网站上的代码来实现:https://notendur.hi.is/voe1/3.%20onn/Tolvuhogun/EASy68K/Examples/tutorial3.X68
我希望找到帮助生成2到11号.我一直在互联网上搜索几个小时.我知道我需要通过使用Move.B#8,D0来获取时间,但除此之外,我还没有取得多大进展.任何帮助将非常感谢!
我不是专家,只是一个业余爱好者.我过去常常使用68000架构,而且我一直在考虑它的TRAP指令.该指令总是被描述为操作系统的"桥梁"(在某些系统中,它并没有在这方面使用,但这是一个不同的故事).如何实现这一目标?TRAP本身是一个特权指令,那么这个OS调用机制如何在用户模式下工作?我的猜测是触发了特权违规异常,异常处理程序检查特定指令导致了异常.如果它是TRAP指令,那么简单地执行指令(也许TRAP的操作数,即TRAP向量号也被检查),当然现在处于管理员模式.我对吗?
我试图理解汇编语言中的Stacks的使用和实现(Motorola 68k).
我知道MC 68k有8个地址寄存器,A7是特殊寄存器.因为它是两个堆栈指针,共享"系统堆栈指针"的名称.
我们有两个状态用户状态和主管状态.哪里:
user state-
certain system resources are blocked and A7 accesses the user stack pointer.
Run Code Online (Sandbox Code Playgroud)
supervisor state-
all system resources are available and A7 accesses the supervisor stack pointer
Run Code Online (Sandbox Code Playgroud)
现在我不确定如何回答这两个问题:
为什么68000有两个硬件堆栈指针?
写代码
将寄存器D1,D3,A2-A6的长字值保存在运行时堆栈中.
MOVEM D1-D3/A2-A6, -(A7)
Run Code Online (Sandbox Code Playgroud)这是正确的吗?
在这里,我不确定所谓的"运行时堆栈",我不确定(SP)和(A7)的真正区别.任何帮助将非常感激.