我知道这是一个非常模糊的问题,对于程序员来说可能不是一个好问题,因为这实际上是一个硬件相关的事情,但我想有些汇编/机器码会在这个网站上适用。所以我想知道的是,想象一下6502处理器。它有一些寄存器,指令集和访问一定量的内存。然后想象一下你有一个任意分辨率的LCD屏幕。如何确定在屏幕上显示什么?如何确定哪些位置的像素被赋予了什么颜色?屏幕总是显示例如,在6502累加器中具有值的像素,并且x位置存储在寄存器x中,y位置存储在y中吗?还是每台机器都有不同的解释方式?
有人编写了一个JavaScript 6502仿真器,该设备显示一个像素,其值位于从$200开始的某个内存位置。例如:
有人编写了一个JavaScript 6502仿真器,该设备显示一个像素,其值位于从$200开始的某个内存位置。例如:
LDA #$08
STA $200
使用“x:0,y:0”的位置将显示粉红色像素。
LDA #$01
STA $205
在位置x:5,y:0处显示白色像素。
但是,如果你看一下NES,它有一个专门的PPU,在屏幕上的特定区域显示具有特定值的某些像素。
那么它是如何工作的?每台机器(如Apple II、C64、NES)是否对其进行不同的解释,还是有一种解释方式的一致性?
事实上,如果为Apple II编译的程序在某种方式下在C64上执行会发生什么?机器应该能够读取指令,对吧?