Size: a a a

Ассемблер

2021 April 16

a

asm in Ассемблер
Добро пожаловать Михаил. Не ответив на вопрос, будешь удалён из чата
источник

С

Скрыто in Ассемблер
Всех приветствую. На строчку
ADD hash, DWORD PTR [AL]

Asm Visual кидает ошибку must be index or base register. Не понимаю почему. hash - локальная переменная DWORD.
источник

s

s54816 in Ассемблер
А дело не в hash, дело в том, что ты просишь прочитать дворд по адресу, содержащемуся в al. Но, во-первых, 8-битными регистрами адресоваться нельзя, а во-вторых, тебе и не нужно ничего читать, lodsb уже прочитал этот байт строчкой выше. Сразу прибавить al нельзя, потому что hash 32-битный, а al 8-битный, но ты можешь сделать add hash,eax (в старших битах eax у тебя нули, так что ничего не сломается).

И ещё там .if какой-то странный. Там точно-точно правильное условие?
источник

ST

Saenro T in Ассемблер
И потом, после 8 цикла "хэш" начнёт таять (терять накопленное)...
В смысле этот "хэш" лишь на последние 8 символов в строке. (Если не реализовать то что после jz
источник

ST

Saenro T in Ассемблер
4026531840 — приятнее смотрится в хексе: F000 0000h
источник

s

s54816 in Ассемблер
Нет, там закомментированный кусок сишного кода мержит старшие биты в младшие. И вообще, это же PJW, он у тебя в CTF был, неужели не признал?
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
да даже если и будет 32 битный регистр в адресе всемравно будет ошибка, нельзя память с памятью в операнды ставить. только немногочисленные инструкции это могут делать,  add к ним не относится
источник

EK

Eugene Krasnikov (ᴊɪ... in Ассемблер
Нашёл прикольный ресурс по производительности инструкций х86. Тесты, таблицы, даже книги какие-то. Глубоко пока не изучал, но тут много всего и подробно.
https://uops.info/

Вот ещё нечто подобное по теме: http://instlatx64.atw.hu/

Ну и до кучи кину на всякий случай и таблицу Агнера Фога (если у кого нет): http://xk8.ru/agnerinstbl

#book
источник

С

Скрыто in Ассемблер
У тебя ещё есть сурсы pjw hash? Я вот накидал немного кода, но меня смущает что со строки Hello получается хеш 64 (десятич.)
источник

С

Скрыто in Ассемблер
источник

С

Скрыто in Ассемблер
и с других строк такая же ситуация
источник

С

Скрыто in Ассемблер
А, я вместо ксора просто переместил. Сейчас вроде бы  работает
источник

ST

Saenro T in Ассемблер
Попробуй это.
EBX=HASH
источник

ST

Saenro T in Ассемблер
источник

ST

Saenro T in Ассемблер
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
источник