Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: imparare l'assembler

  1. #1
    Utente di HTML.it L'avatar di afrappe
    Registrato dal
    Jan 2002
    Messaggi
    1,197

    imparare l'assembler

    io programmo in vb e non ne so niente di assembler se non che è un linguaggio a basso livello come tale è molto potente,
    Ma per cosa è impiegato? cosa si puo fare? è molto legato alla piattaforma sul quale si sviluppa?
    c'e' qualche tutorial in giro?
    giusto per farsi un idea per chiarirsi qualche dubbio, c'e' qualcuno che puo illuminarmi?(senza usare benzina e cerini chiaramente)

  2. #2

    Re: imparare l'assembler

    Originariamente inviato da afrappe
    io programmo in vb e non ne so niente di assembler se non che è un linguaggio a basso livello come tale è molto potente,
    Ma per cosa è impiegato? cosa si puo fare? è molto legato alla piattaforma sul quale si sviluppa?
    c'e' qualche tutorial in giro?
    giusto per farsi un idea per chiarirsi qualche dubbio, c'e' qualcuno che puo illuminarmi?(senza usare benzina e cerini chiaramente)
    Con Assembler puoi fare tutto ciò che si può fare con un pc
    Questo linguaggio è legato non tanto alla piattaforma quanto al processore.
    Programmare in assembler un processore Z80(Io so programmare solo questo processore)è molto diverso dal programmare un pentium, per via dell' architettura interna diversa.
    Per trovare i manuali vai su manuali.it.

  3. #3

    Re: Re: imparare l'assembler

    Originariamente inviato da matrics21
    Programmare in assembler un processore Z80(Io so programmare solo questo processore)è molto diverso dal programmare un pentium, per via dell' architettura interna diversa.
    Com' è strutturato?? e a 8 o 16 bit?
    La stupidità umana e l'universo sono infinite.
    Della seconda non sono certo(Einstein)

    Gnu/Linux User

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    1,798
    Ricordi di infanzia... era 8 bit, vero?
    Slack? Smack!

  5. #5

    Re: imparare l'assembler

    Originariamente inviato da afrappe
    io programmo in vb e non ne so niente di assembler se non che è un linguaggio a basso livello come tale è molto potente,
    Ma per cosa è impiegato? cosa si puo fare? è molto legato alla piattaforma sul quale si sviluppa?
    Il linguaggio si chiama assembly. Assembler è il programma che si occupa di tradurre i listati assembly in codice macchina. Come è stato detto è legato al processore più che alla piattaforma.

    Con l'assembly si può fare di tutto, è vero, ma tieni conto che è in assoluto il modo più complesso di programmare: generalmente le istruzioni vengono tradotte in sequenze binarie direttamente. Questo permette, potenzialmente, la massima ottimizzazione, ma richiede un lavoro notevole oltre che, naturalmente, la perfetta conoscenza dell'hardware della macchina su cui deve girare il programma. La scrittura di programma in assembly, ovviamente richiede molte (ma molte) più righe di codice di altri linguaggi. Niente toglie, cmq, che possa essere usato in una soluzione mista con un linguaggio di livello più alto (solitamente il C/C++) per velocizzare le routine usate più frequentemente.

    Oltre a questo è usato nei microcontrollori nell'ambito dell'automatica, ma (da quanto ho visto) il C sta prendendo piede sempre più grazie anche a compilatori sempre più efficienti.

    Puoi trovare qui dei tutorial in italiano per l'assembly per processori 80x86.
    Se ti interessa un assembly didattico (utile per capire la filosofia, ma totalmente senza applicazione pratica) dai un'occhiata al sito del mio corso di calcolatori elettronici e magari anche al simulatore di mia creazione

    Hola!
    SO: Debian Sarge kernel 2.6.11
    Lang: Java, C++, C

  6. #6
    Utente di HTML.it L'avatar di afrappe
    Registrato dal
    Jan 2002
    Messaggi
    1,197
    grazie ci daro sicuramente un occhiata ;-)

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Esiste anche un bel programmino per compilare il codice assembly per processori della famiglia x86. E' scaricabile gratuitamente da internet e si chiama Magic Asm.

    Comunque vorrei solo darti un piccolo esempio di un programma scritto in Assembly:
    codice:
            mov     ah,09
            mov     dx,offset(hdtxt)
            int     21
            mov     ax,1100
            mov     cx,000a
            mov     dx,0030
            mov     bx,1010
            mov     bp,offset(data)
            int     10
            mov     ax,3510
            int     21
            mov     rlseg,es
            mov     rlofs,bx
            mov     ax,2510
            mov     dx,offset(therout)
            int     21
            mov     ax,3100
            mov     dx,offset(end)/16+1
            add     dx,0011      
            int     21
    
    therout cmp     ax,0003
            je      @1
            cmp     ax,0083
            je      @1
            pushf
            cs:
            callf   rlofs
            iret
    @1      pushf
            cs:
            callf   rlofs
            push    ax
            push    cx
            push    dx
            push    bx
            push    bp
            push    es
            push    cs
            pop     es
            mov     ax,1100
            mov     cx,000a
            mov     dx,0030
            mov     bx,1010
            mov     bp,offset(data)
            pushf
            cs:
            callf   rlofs
            pop     es
            pop     bp
            pop     bx
            pop     dx
            pop     cx
            pop     ax
            iret
        
    data    db      00 00 00 00 02 7c ce ce d6 e6 e6 7c 80 00 00 00 ; 0
            db      00 00 00 00 00 78 18 18 18 18 18 7e 00 00 00 00 ; 1
            db      00 00 00 00 00 7c c6 0c 18 30 60 fe 00 00 00 00 ; 2
            db      00 00 00 00 00 7c c6 06 06 1c 06 06 06 c6 7c 00 ; 3
            db      00 00 00 00 00 0c 6c 6c 6c cc cc fe 0c 0c 0c 00 ; 4
            db      00 00 00 00 00 fe c0 c0 c0 fc c6 06 06 c6 7c 00 ; 5
            db      00 00 3c 66 c0 c0 fc c6 c6 c6 c6 7c 00 00 00 00 ; 6
            db      00 00 00 00 00 fe 0c 18 18 30 30 60 60 c0 c0 00 ; 7
            db      00 00 7c c6 c6 c6 7c c6 c6 c6 c6 7c 00 00 00 00 ; 8
            db      00 00 00 00 00 7c c6 c6 c6 c6 7e 06 06 cc 78 00 ; 9
    hdtxt   db      'Good Numbers TSR v2.0 - Written by Bert Greevenbosch for Magic Software' 0a 0d
            db      'Public Domain Version' 0a 0d '$'
    -
    rlofs   dw      ?
    rlseg   dw      ?
    end
    Come vedi, non è che sia proprio una cosa semplicissima.
    PS: Questo programmino trasforma i numeri del prompt di MS-DOS.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  8. #8
    Utente di HTML.it L'avatar di afrappe
    Registrato dal
    Jan 2002
    Messaggi
    1,197
    RUSTICOOOO

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    4
    Se ti può interessare, a questo indirizzo trovi un manuale molto interessante (ma è in inglese):
    http://webster.cs.ucr.edu/Page_asm/A...ips/pdfaoa.zip

  10. #10
    Utente di HTML.it L'avatar di afrappe
    Registrato dal
    Jan 2002
    Messaggi
    1,197
    tutto buono

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.