Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

баги одного дисассемблера

282
26 августа 2010 года
Bard
481 / / 26.02.2006
неудержался чтоб не виложить скрин
1.8K
26 августа 2010 года
LM(AL/M)
332 / / 20.12.2005
2-й точно не баг, насчёт 1-го пока не уверен. что тебя смущает? двойное сложение с 0x0E...?
5
27 августа 2010 года
hardcase
4.5K / / 09.08.2005
bmp в архиве, а архив - в вебе. Автор знает толк в извращениях!
14
27 августа 2010 года
Phodopus
3.3K / / 19.06.2008
Цитата: hardcase
bmp в архиве, а архив - в вебе. Автор знает толк в извращениях!


это третий баг отладчика :)
по скрину, согласен тока про первый баг.

9
27 августа 2010 года
Lerkin
3.0K / / 25.03.2003
Цитата: Phodopus

по скрину, согласен тока про первый баг.


А если это фича?

282
27 августа 2010 года
Bard
481 / / 26.02.2006
[QUOTE=LM(AL/M)]
2-й точно не баг...
[/QUOTE]

та нээ, всётаки баг

[QUOTE=hardcase]
bmp в архиве, а архив - в вебе. Автор знает толк в извращениях!
[/QUOTE]


ето я так из-за ограничения на разрешение картинки

upd:

ну конечно и так понятно что дважды сложение не произойдет и на квадратные скобки после loop можно забить.
но могли б уже и не поленится. да еще если учитывать что софтина платная.
1.8K
27 августа 2010 года
LM(AL/M)
332 / / 20.12.2005
Цитата: Bard
та нээ, всётаки баг


и в чем же?

Цитата: Bard

ну конечно и так понятно что дважды сложение не произойдет и на квадратные скобки после loop можно забить.
но могли б уже и не поленится. да еще если учитывать что софтина платная.


почему не произойдет? запросто, только может быть двойное сложение -- это как раз то что и должно быть?
а квадратные скобки я так понял там обозначают адрес в то время как просто число -- константу, так что ещё вопрос можно ли считать багом квадратные скобки в loop

282
27 августа 2010 года
Bard
481 / / 26.02.2006
[QUOTE=LM(AL/M)]...только может быть двойное сложение -- это как раз то что и должно быть?[/QUOTE]

нет, ето не то, что должно быть.

[QUOTE=LM(AL/M)]
а квадратные скобки я так понял там обозначают адрес в то время как просто число -- константу...[/QUOTE]

да, тут ты меня просветил конечно. не приходилось мне раньше с таким синтаксисом иметь дело.

 
Код:
mov eax,0x11223344
mov eax,[0x11223344]

loop 0x11223344
loop [0x11223344]


первый mov - запись числа в регистр, второй - запись числа, расположеного по некоторому адресу, в регистр.

первый loop - переход на некоторый адрес, второй loop - анекдот для ассемблера.

дело в том, что в примере mov берет число по адресу (а не сам адрес), а loop имеет дело с самим адресом, а не значением по нему, хотя конструкции выглядят схоже.
ладно, может ето не баг, а системная функция), но меня ето смущает.
кого-то еще, кроме меня, смущает? :)
7
27 августа 2010 года
@pixo $oft
3.4K / / 20.09.2006
MAsm ругается,когда Loop […]–«Jump destination must specify a label»,будь там адрес или регистр.Сдаётся мне,так эту конструкцию действительно использовать нельзя
1.8K
27 августа 2010 года
LM(AL/M)
332 / / 20.12.2005
Цитата: Bard
нет, ето не то, что должно быть.



пожалуй ты прав, я сначала подумал в сторону адресации с индексированием...

Цитата: Bard

 
Код:
...
loop 0x11223344
...



что-то я такого loop-а в твоём "листинге" не заметил, но если там и такое бывает тогда пожалуй и вправду баг

-------------------

Цитата: @pixo $oft
MAsm ругается,когда Loop […]–«Jump destination must specify a label»,будь там адрес или регистр.Сдаётся мне,так эту конструкцию действительно использовать нельзя

а кто вам сказал что дизассемблер должен обязательно масмовский листинг генерировать?

282
27 августа 2010 года
Bard
481 / / 26.02.2006
Цитата: LM(AL/M)
что-то я такого loop-а в твоём "листинге" не заметил, но если там и такое бывает тогда пожалуй и вправду баг



та да, нету. ето так я пытался объяснить ход своей мысли. за то там (в листинге) можно увидеть конструкции типа

 
Код:
мнемоника    регистр,значение
мнемоника    регистр,[адрес]


и к ним [FONT="Courier New"]loop [XXX][/FONT] уж никак не вписывается (пусть даже ето и не интеловский синтаксис)
1.8K
27 августа 2010 года
LM(AL/M)
332 / / 20.12.2005
ну если рассматривать [n] как "содержимое по адресу n" то не вписывается, а если считать что скобки служат лишь тому чтобы различать адреса и константы то все нормально...
в общем не используй этот дизассемблер
7
27 августа 2010 года
@pixo $oft
3.4K / / 20.09.2006
Цитата: LM(AL/M)
а кто вам сказал что дизассемблер должен обязательно масмовский листинг генерировать?

А вам кто сказал,что MAsm не соответствует стандартам?;)

1.8K
27 августа 2010 года
LM(AL/M)
332 / / 20.12.2005
а на ассемблер вообще стандарта не существует
7
27 августа 2010 года
@pixo $oft
3.4K / / 20.09.2006
Зато существуют чётко прописанные команды,и команда Loop не относится к тем,которые принимают в качестве аргумента такой параметр.Для консультации воспользуйтесь любым подходящим справочником ассемблерных команд(я воспользовался Юровым)
1.8K
28 августа 2010 года
LM(AL/M)
332 / / 20.12.2005
к сожалению я больше не интересуюсь ассемблером настолько чтобы сейчас броситься изучать справочники, да это и не нужно. я верю что в синтаксисе вашего ассеблера такой формат команды недопустим, но я ещё раз спрашиваю: почему вы думаете что данный дизассемблер должен выдавать исходник совместимый именно с вашим ассемблером?
282
28 августа 2010 года
Bard
481 / / 26.02.2006
Цитата: LM(AL/M)
...почему вы думаете что данный дизассемблер должен выдавать исходник совместимый именно с вашим ассемблером?



[QUOTE=Bard]...и к ним [FONT="Courier New"]loop [XXX][/FONT] уж никак не вписывается (пусть даже ето и не интеловский синтаксис)[/QUOTE]

я просто хочу сказать что таким образом дисассемблер противоречит сам себе, в независимости от синтаксиса которого он придерживается

1.8K
28 августа 2010 года
LM(AL/M)
332 / / 20.12.2005
по моему противоречие было бы если бы он допускал и loop xxx и loop [xxx]
282
28 августа 2010 года
Bard
481 / / 26.02.2006
Цитата: LM(AL/M)
по моему противоречие было бы если бы он допускал и loop xxx и loop [xxx]



тогда, если [FONT="Courier New"]loop [xxx][/FONT] - переход на [FONT="Courier New"]xxx[/FONT], то [FONT="Courier New"]mov eax,[xxx][/FONT] - помещение [FONT="Courier New"]xxx[/FONT] в [FONT="Courier New"]eax[/FONT].

Адрес, и значение по адресу - разные вещи.

1.8K
28 августа 2010 года
LM(AL/M)
332 / / 20.12.2005
просто в обозначениях данного дизассемблера [xxx] всегда обозначает адресс, а как этот адрес используется в конкретной команде не важно
282
28 августа 2010 года
Bard
481 / / 26.02.2006
Цитата: LM(AL/M)
просто в обозначениях данного дизассемблера [xxx] всегда обозначает адресс, а как этот адрес используется в конкретной команде не важно



ок, если так - тогда ето не баг. но имхо, криво.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог