Использование syscall 30 на ассемблере MIPS - PullRequest
0 голосов
/ 01 декабря 2018

Привет, мне было интересно, что именно делает системный вызов 30, как он работает и где его можно применить.

Я работаю над проектом, в котором у пользователя есть определенное количество времени для ввода строки.Как бы я использовал syscall 30, чтобы установить ограничение по времени?

Спасибо!

1 Ответ

0 голосов
/ 01 декабря 2018

Функциональность syscall в MIPS на самом деле позволяет легко обращаться к какой-либо форме системного программного обеспечения, примером которой является операционная система.

Например, эта страница указывает, что система требует MARS, тогда как этот предназначен для SPIM, две из которых многие системные среды доступны в учебных заведениях.

То, что делает syscall 30, зависит полностью от используемого вами системного программного обеспечения. возможно , что вы можете использовать MARS, поскольку syscall 30 в этой системе показывает текущее время.Если это так, вы можете установить ограничение по времени для операции с помощью следующего псевдокода:

syscall 30 to get current time
set start time to current time
while (current time - start time) is less than time limit:
    do something intelligent
    syscall 30 to get current time

Вам, конечно, нужно будет преобразовать это в код сборки MIPS (как часть вашегообразование), ассемблеры, которые могут понимать естественный язык, немногочисленны и далеки от: -)

...