Ja este pridam pre mna takmer nevyhnutny parameter"-w", teda wide display alebo v praxi nech nezalamuje riadky. Bez toho mam v tom gulas.
Ako priklad z clanku pri pouziti s -h, teda objdump -wh ./file
Pre readelf je to -W.
S tym att vs intel je to celkom zaujimave. Ked som zacal pouzivat x86 asm tak som bol jednoznacne tim intel. Od zobrazovania (objdump,gdb, IDA...) az po samotne pisanie. Dokonca aj pri gcc v inline asm som pouzival intel syntax. A nechapal som ako moze niekto pouzivat att.
Len prakticky kazdy v opensource komunite (Linux, BSD..) pouziva att. Tak som si povedal, ze to skusim. Na moje prekvapenie som celkom rychlo nasiel v tom logiku. Napr. to obratenie parametrov. V hlave si drzim co idem ulozit, kam to idem ulozit. A teda movl $0xdecafe, %eax
mi zrazu davalo zmysel. Suffix pri instrukciach je tiez fajn vec, je to taky double-check ci robim to co mam. Ja este davam premennym prefix ich velkosti. Lahsie sa mi potom prechadza kod.
Napr.
movw %ax, (w_small_int)
w_small_int: .word 0
Co je trosku komicke je fakt, ze stale na zobrazovanie pouzivam intel. att syntax ma strasne vela balastu (imm ma $, % pri reg, a aj tie () sa mi citaju horsie ako []).
Len potom pridem na instrukciu cmp a mam v hlave misung, ze co sa vlastne porovnava. :)
Pořadí je opravdu otázka zvyku. Když jsem se ještě v minulém století poprvé potkal s assemblerem 8080, přišlo mi pořadí kam-co postavené na hlavu a nechápal jsem, kdo to takhle mohl vymyslet. Když jsem pak o dost později začal trochu víc pracovat s assemblerem na Linuxu, byl zase nezvyk, že to je obráceně. Dnes už bych měl asi zase problémy s Intel mnemonikou.
Ale souhlasím, že pořadí kam-co vs co-kam je oproti složitějším adresovacím modům prkotina. Moje soukromá pomůcka je, že když vidím velká písmena a registry bez procent, je to Intel, když malá a procenta, je to AT&T. :-) Pak ale člověk jednoho dne poprvé narazí na něco jako
925: 48 8d 54 ca 02 lea 0x2(%rdx,%rcx,8),%rdx 9da: 48 8d 74 fe 02 lea 0x2(%rsi,%rdi,8),%rsi b27: 48 8d 04 c2 lea (%rdx,%rax,8),%rax b2b: 4d 8d 04 c6 lea (%r14,%rax,8),%r8 bf7: 49 8d 54 d7 02 lea 0x2(%r15,%rdx,8),%rdx
...a včil mudruj. :-)