使用汇编语言MIPS更改监视器RGB颜色

时间:2018-09-12 13:27:58

标签: assembly colors mips monitor vga

我想用汇编语言创建一个项目。我在Windows上使用MARS学习了MIPS。我们所学到的只是关于语言本身以及所有基于文本和数字的程序来理解它。现在,我想用它来更改显示器的RGB颜色进行实验。 我没有铅。我尝试像控制颜色或进行vga编程一样进行搜索,但是找不到MIPS汇编语言。请指导使用它可以完成以及如何进行?

1 个答案:

答案 0 :(得分:2)

首先,您应该了解MARS和真正的MIPS处理器之间的区别:

Real MIPS处理器

真正的MIPS处理器执行机器代码指令(由汇编程序指令表示)。

一旦调用syscall指令,CPU就会进入某种“特殊”状态并开始执行操作系统代码。该操作系统还包含MIPS指令。

根据存储在寄存器中的值,操作系统通常会执行某些操作。但是,也可以通过忽略寄存器中的值的方式来编写操作系统。

通过从“特殊”地址读取数据或将数据写入“特殊”地址(例如,使用lw指令),操作系统可以访问外围设备(例如键盘,屏幕等)。这取决于硬件,哪个“特殊”地址具有什么含义。

火星,SPIM,...

这些仿真器仅模拟机器代码指令。

调用syscall指令时,这些模拟器不会启动包含MIPS指令的操作系统代码。相反,这些仿真器将根据寄存器中的值执行某些操作。

示例:

如果寄存器a0包含值1,则某些模拟器可能将寄存器v0中的值打印到屏幕上。

因为通常没有操作系统,所以没有{strong>没有“特殊”地址,可以使用lw之类的指令来访问外围设备(例如显示器)。

效果

与真实CPU上的MIPS代码不同,您无法使用这种模拟器来完成计算机可以完成的所有工作。

这些仿真器通常用于为正在学习MIPS汇编的学生测试MIPS程序。编写它们不是为了让程序员编写功能强大的程序。

因此,这些模拟器通常没有非常强大的功能。

您的仿真器允许彩色输出;但是您的模拟器很可能没有此功能...