mirror of
https://github.com/stasenso/SHA256.git
synced 2026-06-26 21:32:43 +03:00
19 lines
2.1 KiB
Plaintext
19 lines
2.1 KiB
Plaintext
в секции .data глюк: несколько массивов (DUP) находятся под разными метками, но имеют один адрес в дебагере
|
||
Конкретно: k_konst и sha_hash
|
||
Решилось: неправильно использовал оператор DUP: Надо сначала писать сколько, а в скобках (чего). 10 dup (0), а я писал наоборот
|
||
|
||
Остановился на деление по модулю. Нужно разделить весь объём на величину отрезка. Пока исключение, видимо потому, что 64-битные регистры использую.
|
||
Решено: не обнулял rdx. Деление происходит не одного rax, а пары rdx:rax. Вылетало по переполнению.
|
||
|
||
Разобраться с прологом и эпилогом. Сейчас их нет и обращение идёт по недопустимому адресу т.к. в rbp ноль.
|
||
Решено: пролог и эпилог подставляются автоматически, если установить опции:
|
||
OPTION PROLOGUE:PrologueDef
|
||
OPTION EPILOGUE:EpilogueDef
|
||
Кстати, enter - везде пишут, что он тормозной и лучше использовать push ebp; mov ebp,esp. А sub esp,nnn нужен, чтобы вызываемая процедура могла делать push
|
||
и не перезаписывать при этом локальные переменные.
|
||
|
||
Написать в Excel скрипт, который в зависимости от i, даёт имя регистра в котором есть i-15, i-2 и i-16, выдавая при этом порядок байт, при котором команда pshufd выдвинет
|
||
искомое слово на младшие 32 бита XMM регистра
|
||
- Сделано
|
||
|
||
Закончил расчёт w16, считает павильно. Но пока не получилось правильно сохранить в XMM4 |