2013-03-27 11 views
7

To jest naprawdę głupia idiosynkwalencja, ale nie mogę znieść sposobu, w jaki GNU AS używa komentarza. Jestem zbyt przyzwyczajony do sposobu Sun (tego samego używanego w większości asemblerów UNIX), który używa prostego ukośnika "/", aby skomentować kod do końca linii.Komentarze asemblera GNU

Czy znasz sposób na spełnienie mojego małego kaprysu?

+0

Niektóre regex (Vim, Perl, sed ...) prawdopodobnie to z łatwością. Możesz dodać odpowiednie polecenie regex w 'Makefile', aby wstępnie przetworzyć kod źródłowy, aby przekonwertować wybraną składnię komentarza do składni komentarza ważnej dla GNU AS. – nrz

+0

Moja wersja 'as' (2.20.1, x86_64-linux-gnu) akceptuje'/',' // 'i' # 'jako startery komentarzy. – Michael

+0

@Michael: widzisz, '/' działa w 'as' tylko jeśli jest pierwszym znakiem w linii. Nie możesz umieścić go po instrukcji, aby skomentować resztę linii. – mghis

Odpowiedz

11

Tak, kontynuuj używanie #, a przyzwyczaisz się do tego.

Możliwe, że sposoby uzyskiwania / zadziałają, ale kod jest nie tylko specyficzny dla procesora, ale dosłownie specyficzny dla komputera. Lepiej przyzwyczajaj się do małych rzeczy niż całkowicie niszczyć przenośność swojego kodu, by mieć ochotę na kaprys.

15

W asembler Gnu znak początkowy komentarza jest specyficzny dla celu. W przypadku i386 i x86_64 jest to #. Dla ARM jest to @ (# nie działa dla ARM).

Niektóre inne konwencje komentarzy działają pod pewnymi warunkami. Nie jestem pewien co do szczegółów. // comment starter i/* */komentarze wielowierszowe to przykłady, które widziałem.

+0

Dzięki. Próbowałem # losowo, ale oczywiście dostałem błąd, gdy próbowałem umieścić komentarz na końcu niepustej linii. Teraz używam @ wszędzie. –

+3

'@' dla ARM rzeczywiście – JSmyth

+0

To nie może być poważne. Jest; na AVR – thekiwi5000