Kiedy zaczynałem naukę assemblera też trafiłem na masm. Chwilkę się z tym bawiłem, ale szybko przeniosłem się na nasm'a, tobie też polecam. 2. W starszych komputerach były rejestry segmentowe, które miały ułatwiać oddzielanie pamięci od kodu. 3. Używasz zależnie od potrzeb, jak ci łatwiej. Windows używa swoich własnych konwencji w winapi, także należy o tym pamiętać. Po za tym twój program w windowsie zawsze jest otwierany w jakiejś tam konwencji wywołania, żeby przekazać argumenty z konsoli. 4. W asmie to po prostu jest oznaczenie miejsca w pamięci jakąś nazwą. Po kompilacji zamiast tej nazwy program używa adresu. 5. Nwm, bo bawiłem się 16 bitowym masmem i tylko przez chwile. 6. Stała to liczba niezmienna, nie możesz jej zmienić. Kompilator traktuje ją jak makro jakiejś liczby. Wszędzie gdzie znajdzie odwołanie do niej, wkleja po prostu tą liczbę i procesie prekompilacji (Czy jakoś tak się to nazywało). 7. Żebyś mógł dostarczyć sobie zestawu instrukcji; żeby kompilator wiedział co to za funkcja itp... Tak jak w c++. 8. Miejsce, w którym trzymasz dane. 9. Miejsce, w którym trzymasz kod. 10. To są informacje dla kompilatora. W cpp możesz za ich pomocą np. zadeklarować konwencje wywołania funkcji.