|
|
|
3 глупых вопроса по assembler'у
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Такая проблема, assembler 1 семестр и дают по принципу "на отвали". Теперь сдача и 3 вопроса: 1. Перевести из assembler в код (или инструкцию) процессора: add r10, [r11+4*r12]. 2. Наоборот из кодов (инструкций) процессора в assembler: 0222 3. Что происходит с число при применении на нем 3-х операторов: 8001 (число), sar, rol, shr. Что означают операторы я знаю, а вот, что происходит, конкретно, с числом представляю смутно. Если можно объясните принцип перевода из assembler в код процессора. P.S. Когда-то на схемотехнике делали модель процессора dp32 на VHDL и там был перевод инструкций из памяти: r2←r2*r0 в "0202_0200". Есть ли, что-то общее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2011, 05:01 |
|
||
|
3 глупых вопроса по assembler'у
|
|||
|---|---|---|---|
|
#18+
На первые два вопроса ответить невозможно. Для разных процессоров ответы будут разными, а ты не сказал о каком процессоре идет речь. Третий вопрос - переведи число в двоичную систему, примени к нему операцию, переведи число обратно в десятичную (или шестнадцатиричную). Например: предполагая что 8001 это 8001h (то есть шестнадцатиричное число) в двоичном виде это будет 1000000000000001 применяем к нему shl и получаем 0000000000000010, переводим обратно в шестнадцатиричный вид и получаем 0002h. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2011, 06:38 |
|
||
|
3 глупых вопроса по assembler'у
|
|||
|---|---|---|---|
|
#18+
Спасибо. Насчет процессора. Вроде intel 8086. Хотя могу ошибаться. Мне бы хотя бы алгоритм с примером. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2011, 07:09 |
|
||
|
3 глупых вопроса по assembler'у
|
|||
|---|---|---|---|
|
#18+
trokadd r10, [r11+4*r12] trokintel 8086 Больше двойки не заслуживаешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2011, 10:17 |
|
||
|
3 глупых вопроса по assembler'у
|
|||
|---|---|---|---|
|
#18+
Dim2000Больше двойки не заслуживаешь. Сильно больше и не надо. Всегда любил ответы по делу. Просто все "рассматривалось" на примерах процессоров Pentium и книжку рекомендовали по i8086, вот я и подумал... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2011, 17:44 |
|
||
|
3 глупых вопроса по assembler'у
|
|||
|---|---|---|---|
|
#18+
trokСпасибо. Насчет процессора. Вроде intel 8086. Хотя могу ошибаться. Мне бы хотя бы алгоритм с примером.Это явно не i8086. Даже тип другой. Именование регистров rNN это традиция в RISK процессоров, а линейка Intel это CISC. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2011, 18:54 |
|
||
|
3 глупых вопроса по assembler'у
|
|||
|---|---|---|---|
|
#18+
trokВсегда любил ответы по делу Какой смысл писать "по делу" человеку, не знающему, что r10, r11 и r12 - это стопиццот процентов не i8086? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2011, 19:31 |
|
||
|
3 глупых вопроса по assembler'у
|
|||
|---|---|---|---|
|
#18+
Предположим это RISK процессор. А вообще неужели нету какого-нибудь стандартного алгоритма перевода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2011, 19:43 |
|
||
|
3 глупых вопроса по assembler'у
|
|||
|---|---|---|---|
|
#18+
trokПредположим это RISK процессор. А вообще неужели нету какого-нибудь стандартного алгоритма перевода. конечно нет, и не может быть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2011, 19:45 |
|
||
|
3 глупых вопроса по assembler'у
|
|||
|---|---|---|---|
|
#18+
Dim2000Какой смысл писать "по делу" человеку, не знающему, что r10, r11 и r12 - это стопиццот процентов не i8086? А какой смысл, вообще, было писать сюда? Показать, какой я знающий, а ты нет? Почувствуй разницу: Dim2000trokadd r10, [r11+4*r12] trokintel 8086 Больше двойки не заслуживаешь. ЧСВ детектед))) или White OwlЭто явно не i8086. Даже тип другой. Именование регистров rNN это традиция в RISK процессоров, а линейка Intel это CISC. Четко, коротко и по делу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2011, 19:52 |
|
||
|
3 глупых вопроса по assembler'у
|
|||
|---|---|---|---|
|
#18+
Лан последняя просьба, как перевести 1-й вопрос в двоичный код? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.01.2011, 20:42 |
|
||
|
3 глупых вопроса по assembler'у
|
|||
|---|---|---|---|
|
#18+
trokЛан последняя просьба, как перевести 1-й вопрос в двоичный код?Как перевести? Взять инструкцию к процессору, найти в ней таблицу команд и найти соответствующие строчки в этой таблице. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2011, 07:34 |
|
||
|
3 глупых вопроса по assembler'у
|
|||
|---|---|---|---|
|
#18+
trokЗдравствуйте. Такая проблема, assembler 1 семестр и дают по принципу "на отвали". Теперь сдача и 3 вопроса: 1. Перевести из assembler в код (или инструкцию) процессора: add r10, [r11+4*r12]. 2. Наоборот из кодов (инструкций) процессора в assembler: 0222 3. Что происходит с число при применении на нем 3-х операторов: 8001 (число), sar, rol, shr. Что означают операторы я знаю, а вот, что происходит, конкретно, с числом представляю смутно. Если можно объясните принцип перевода из assembler в код процессора. P.S. Когда-то на схемотехнике делали модель процессора dp32 на VHDL и там был перевод инструкций из памяти: r2←r2*r0 в "0202_0200". Есть ли, что-то общее? Узнай какой процессор имеется в виду(исходя из [r11+r12*4] наверное кто-то из x86-64) и скачай с офсайт офдоку по тому как кодируются команды. 3-ий прогони на бумаге/сассемблируй/проинтерпретируй ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2011, 08:39 |
|
||
|
3 глупых вопроса по assembler'у
|
|||
|---|---|---|---|
|
#18+
авыаываывУзнай какой процессор имеется в виду(исходя из [r11+r12*4] наверное кто-то из x86-64) У i86 регистры не называются rXX, способ адресации и наименования регистров больше характерны для ARM ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2011, 11:35 |
|
||
|
3 глупых вопроса по assembler'у
|
|||
|---|---|---|---|
|
#18+
Святая Барсуслятина, разницу между x86-64 и i86 совсем не видишь? Ну почитай офдоку http://www.intel.com/Assets/PDF/manual/253665.pdf (vol1 3-17) Quadword Registers | N.A. | RAX, RBX, RCX, RDX, RDI, RSI, RBP, RSP, R8 - R15 [REG + REG * 4] в интеловской архитектуре тоже более чем распространён. 3.7.5.1 в той же доке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2011, 12:43 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=37061404&tid=1343200]: |
0ms |
get settings: |
6ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
159ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
| others: | 214ms |
| total: | 475ms |

| 0 / 0 |
