Assemblery - NASM - jak ruszyć pod Win7 64 bit?

0

Witam,
Pytanie jak w temacie. Nie potrzebuje super profesjonalnego środowiska - jedynie najprostsze rozwiązanie byle pouczyć się na uczelnie trochę asemblera.
Pozdrawiam

0

Rozwiązanie jest bardzo proste. Ściągnij sobie SASM: https://dman95.github.io/SASM/english.html :-)

0

Pytanie na jaką platformę to ma być NASM: pod DOS-a czy pod Windowsa?
16, 32 czy 64-bitowy?

Jeżeli pod DOS-a, to na 64-bitowym Windowsie będzie problem. Tylko DOSBox, Bochs albo maszyna wirtualna z 32-bitowym Windowsem.

Jeżeli 32-bitowy asembler pod Windows, to nie ma problemu.

Jeżeli 64-bitowy pod Windows, to jest duży problem, bo to się nie nadaje do użytku. Microsoft obmyślił (wbrew reszcie świata) tak zawiłą konwencję wołania (calling convention) że tego nie da się ręcznie ogarnąć żeby było dobrze. Parametry funkcji są przekazywane dziwacznie. Ze stosem dzieją się dziwne rzeczy. Prolog i epilog funkcji muszą mieć konkretny format, a do tego trzeba systemowi „zdać raport” z każdej funkcji - gdzie jest, co odkłada na stos i tym podobne - w specjalnych sekcjach .pdata i .xdata.
To jest przeznaczone do maszynowego generowania kodu (przez kompilatory), a nie do ręcznego rzeźbienia. Bez jakichś makr które ogarną konwencję automatycznie po prostu nie da rady.
Prawie wszystkie przykłady w necie są błędne - może będą działać uruchomione wprost, ale wyłożą się pod debugerem albo nie będą z nim współpracować.

1 użytkowników online, w tym zalogowanych: 0, gości: 1