Прежде всего вы должны понять разницу между MARS и настоящим процессором MIPS:
Реальные процессоры MIPS
Настоящий процессор MIPS выполняет инструкции машинного кода (которые представлены инструкциями ассемблера).
Как только инструкция syscall
вызвана, центральный процессор переходит в какое-то «особое» состояние и начинает выполнять код операционной системы. ОС также состоит из инструкций MIPS.
ОС обычно будет что-то делать в зависимости от значений, хранящихся в регистрах. Однако ОС также может быть записана таким образом, что она игнорирует значения в регистрах ...
Читая и записывая данные с или на «специальные» адреса (например, используя инструкцию lw
), ОС может получить доступ к периферийным устройствам (таким как клавиатура, экран и т. Д.). Это зависит от аппаратного обеспечения, какое значение имеет специальный адрес.
MARS, SPIM, ...
Эти эмуляторы имитируют только инструкции машинного кода.
Когда вызывается инструкция syscall
, эти симуляторы не запускают код операционной системы, который состоит из инструкций MIPS. Вместо этого эти эмуляторы будут выполнять некоторые действия на основе значений в регистрах.
Пример: * * тысяча двадцать-восемь
Некоторые симулятор может выводить значение в регистре a0
на экран, если регистр v0
содержит значение 1.
Поскольку ОС не существует, как правило, нет «специальных» адресов для доступа к периферийным устройствам (например, к дисплею) с использованием инструкций, подобных lw
.
Эффект
В отличие от кода MIPS на реальном процессоре, вы не можете делать все, что можно сделать с компьютером, используя такой эмулятор.
Эти эмуляторы обычно написаны для тестирования программ MIPS для студентов, изучающих сборку MIPS. Они написаны не для того, чтобы программисты могли писать мощные программы.
Поэтому эти эмуляторы обычно не имеют очень мощных функций.
МОЖЕТ, ваш эмулятор разрешает цветной вывод; однако весьма вероятно, что ваш эмулятор не имеет этой функции ...