2014-12-18 3 views
0

Я студент информатики, у меня есть курс COAL (Computer Organizing and Assembly Language), я пытался преобразовать язык ассемблера в машинный язык, но у меня возникают некоторые трудности.Перевод на язык машины

Например, если мне нужно преобразовать MOV [SI + 490], SP в машинный язык, так как я могу это сделать? Я знаю некоторые термины типа d, w, mod, reg, r/m.

Некоторая полезная ссылка была бы полезна. Благодаря!

+0

В чем разница между "языком Machine" и "ассемблером"? Вы говорите об ручной сборке? например Ассемблерные инструкции, такие как «MOV X» для байтов, как «0x80 0xff»? – DrKoch

+0

Язык машины состоит из 1 и 0. Я хочу знать, как конвертировать часть сборки в машинный язык (в цифрах) –

ответ

1

Сначала посмотрите, какая инструкция на самом деле есть, mov r/m16, r16 и он выглядит в 16-битном режиме, поэтому формат 89 /r.

Затем кодируют ModR/M, то гт часть si + sword, то г sp, таким образом мы получаем A4.

Таким образом, в общей сложности:

89 A4 EA 01 
+0

У меня проблема с модом, значит, я не знаю, как выбрать значение мод? –

+0

@AniqMakhani посмотрите в ту таблицу, с которой я связан, она разделена на 4 категории на основе мода. – harold

+0

Да, 00, 01, 10, 11, но как я могу решить, какое значение мода выбрать? –