| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Asm: Общие вопросы > CPU Serial |
| Автор: drkot 10.12.2012, 02:34 | ||
Делаю так, собственно по аналогии с x32
затык возникает на STOSD насколько понимаю сохранение идет кудато не туда. Если не сложно подскажите в чем тупость с моей стороны. |
| Автор: drkot 12.12.2012, 02:03 |
| может я не в тот форум написал? |
| Автор: tzirechnoy 13.12.2012, 19:59 | ||
А почему EDI-то в 64-бит режыме? |
| Автор: 500mhz 13.12.2012, 22:43 |
| WMI->Win32_Processor class а вообще вот http://www.wasm.ru/article.php?article=hardzen |
| Автор: drkot 26.12.2012, 01:20 |
достаточно разрядности для передачи данных Добавлено @ 01:23 возможно я чего-то недосмотрел, но касательно сабжа информации не нашел |
| Автор: tzirechnoy 26.12.2012, 20:49 | ||
А если головой подумать? |
| Автор: drkot 27.12.2012, 23:41 |
если подумать, ошибка на STOSD (и думаю для х64 должна быть другаю команда) а (MOV RDI,RAX) ситуацию никак не улучшает, хотя это правильное замечание. Добавлено через 14 минут и 22 секунды думаю что проблема со стеком, точнее с правильностью его адресации |
| Автор: drkot 28.12.2012, 02:12 |
| Спасибо всем знатокам Проблема всеголишь в впецифике перередачи адреса на блок данных так х32 компилятор передает адрес в EAX, а х64 RDX Всем спасибо. Добавлено через 52 секунды но тупил долго, прежде чем начал думать |
| Автор: drkot 28.12.2012, 03:10 |
| Главное, что надо знать о соглашении по вызовам на платформе x64, - оно похоже на x86-соглашение fastcall. В x64-соглашении первые четыре целочисленных аргумента (слева направо) передаются в 64-битных регистрах, предназначенных специально для этой цели: RCX: 1-й целочисленный аргумент RDX: 2-й целочисленный аргумент R8: 3-й целочисленный аргумент R9: 4-й целочисленный аргумент |
| Автор: Sectoid 4.4.2016, 01:34 |
| Зачем EAX затираешь ? Добавлено через 38 секунд Изврат ... |