Привет, я застрял в своем задании, которое требует от меня написать программу на c, которая читает входной файл, такой как этот:
Registers
r1 = 0c100009
Instructions
0c100009
3c071001
8ce20011
84e33080
80e48000
ace2ffff
a4e39001
a0e48088
03e00008
и выясните, является ли инструкция сохранением или загрузкой, сколько байтов получило доступ к инструкции, а также адрес первого из этих байтов в памяти.
Мне нужна помощь, чтобы понять, как работают инструкции. Я знаю, что мне нужно перевести инструкцию в двоичный файл, например
8ce20011
до
100011 00111 00010 0000000000010001
что составляет
lw $t3 17($s7)
но я не знаю, как рассчитать адрес и количество байтов. Я должен игнорировать все инструкции, которые не сохраняются и не загружаются.
А также, что это означает, что знак расширяется?
Спасибо за вашу помощь.