![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 22.11.2009
Сообщений: 3
|
![]()
Здравствуйте, не подскажете, как перевести команду (в частности mov rax, [rbx+2]) в двоичный код?
а также обратное действие- код 0303 насчет второго-предположила, что это add ax, [bx] права? 0303= 0000 0011 0000 0011 , первая тетрада-код add (0000), последние 6 символов-обозначение приемника и источника (00 0011), где 000- ax(приемник?), a 011 - bx, перед этим еще 2 разряда- 00-обозначают косвенную передачу (кстати, что значит косвенная?) , передача словная(ведь если ax-словная, а если было бы al-была бы байтная?) => 1 в последнем разряде второй тетрады , перед ней 1-тк источник всегда справа, а источником дб ax(в большинстве случаев),а у нас справа bx? расскажите, где ошиблась и для чего 5, 6 разряды? соображения насчет первого-код mov - 1000(так?), далее не знаю что в 2 разряда писать, в 7-ой 1 тк источником является bx, в 8-ой- 1, тк передача словная (да?), первые 2 разряда 3-ей тетрады-обозначение косвенности, есть смещение(+2-это же смещение? если нет, то что тогда смещение?) на 1 байт(байт ли? на что сдвигаем?) => 1 в 9, 10 разряде 01 , далее 000 -rax, 011- rbx(в кодах совсем не уверена...) присутствует +2 соотв. последняя часть кода будет выглядеть так: 0000 0010 ? получилось 1000 001(?)1 0100 011 0000 0010 и еще, что получится, если к числу 8801 применить команды ror rol sar? это сдвиги? каким будет число на выходе? Заранее благодарна, спасибо |
![]() |
![]() |
![]() |
#2 |
Регистрация: 22.11.2009
Сообщений: 3
|
![]()
ror - сдвиг вправо, циклический- rol -аналогично влево, они взаимоисключающие? кажется, так. sar- сдвиг вправо , первый бит совпадает со значением старшего разряда
=> полутится 1100 0100 0000 0000 ? (было 8801= 1000 1000 0000 0001)\ и, конечно насчет байтов в предыдущем посте я погорячилась |
![]() |
![]() |
![]() |
#3 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
![]()
SimplyLesya
для начала усвойте, что: rax, rbx -- это 64-битные регистры eax, ebx -- 32-битные регистры ax, bx -- 16-битные регистры ah, al, bh, bl -- 8-битные регистры коды команд вместе с подробным описанием самих команд в Instruction_Set_reference.pdf а чтобы самой разобраться -- есть отличный цикл статей Aquila на WWW.WASM.RU "Заклинание кода: от алеф до зайн" читай -- ничего сложного! Последний раз редактировалось Mikl___; 08.10.2010 в 04:34. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Assembler (no *ASM). Мнемоника.Ошибка в коде. | sig_GB | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 2 | 04.03.2010 01:20 |
реализация команд с помощью набора других команд | zhenyaa | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 5 | 08.11.2009 21:37 |
Определение кода нажатой клавиши | Fataller | Общие вопросы C/C++ | 8 | 07.11.2009 19:29 |
Список команд | W0LF | Общие вопросы Delphi | 1 | 18.08.2009 09:28 |
Выдернуть куски кода из html-кода | trafbite | Помощь студентам | 7 | 18.08.2007 13:51 |