Vlákno názorů k článku Nástroj objdump: švýcarský nožík pro vývojáře od martin - Ja este pridam pre mna takmer nevyhnutny parameter"-w",...

  • Článek je starý, nové názory již nelze přidávat.
  • 26. 1. 2023 17:00

    martin

    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. :)

  • 26. 1. 2023 17:55

    atarist

    Problem mam hlavne s tim adresovanim. U Intel syntaxe je to v podstate cecko, u AT&T je to docela umele konstruovana adresa. Ale je fakt, ze jsem vyrostl na Intel syntaxi, ktera byla vsude, i u mikroradicu,

  • 26. 1. 2023 20:16

    martin

    Ja tak isto, Borland C++, masm/tasm, vsetko intel. Tak isto arm/mips asm sa v podstate podoba na intel syntax.
    Len fakt je, ze je to teraz u mna trosku komicke lebo pisem att a citam intel. A to je taky trosku bf.

  • 26. 1. 2023 21:26

    Michal Kubeček

    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. :-)