问题描述
所以我接到了一个任务,我们必须使用 6502 汇编仿真器使用彩色像素制作符号。我不太明白这个网格是如何工作的。有人可以解释一下这个网格是如何工作的,也许可以举个例子吗?
这是模拟器的链接:https://skilldrick.github.io/easy6502/#first-program
以及我要使用的网格:https://i.stack.imgur.com/QuqPi.png
解决方法
我认为迈克尔的命令是正确的;由于潜在的寄存器歧义原因避免使用“x”和“y”,地址 private int x = null;
//if x is not null return x otherwise return: (assign 1 to x and return 1)
get { return x ?? (x = 1); }
包含 (p,q) 处的像素,用于 p 和 q 在 0 到 31 的范围内,并且在每个字节中包含低四位确定像素颜色。
所以例如get
{
if(addCommand == null){
addCommand = new RelayCommand(obj =>
{
Phone phone = new Phone();
Phones.Insert(0,phone);
SelectedPhone = phone;
}
}
return addCommand;
}
是左上角的像素,$0200 + (q*32) + p
是左上角右侧的像素,$0200
是左上角下方的像素。
在 6502 术语中,通用绘图子例程的一种可能的直接实现可以使用索引间接寻址,将 $0201
存储到零页位置,然后通过 $0220
进行索引以达到其中的特定水平位置排。在我的脑海里,没有检查汇编程序使用的语法和硬编码零页地址 $80 和 $81 的使用:
$0200 + (q*32)