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

    Tutorial Assembler 8088

    Salve a tutti!
    Volvo chiedere se qualcuno sapeva se in giro in rete si poteva trovare un tutorial valido per assembler 8088?
    Ho provato a cercare m a c'è solamente per assembler 8086
    Se qualcuno mi potrebbe aiutare li sarei molto grato
    Alcuni spiegazioni o esempi di codice più in dettaglio
    Grazie a chi mi risponderà!
    niente è impossibile

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Non c'e' molta differenza tra le due CPU a parte il bus dei dati ... perche' solo la 8088?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    perchè in questo momento dovrei svolgere un progetto in assembler 8088
    e allora visto che secondo me nei libri non si fanno molti esempi di codice e
    anziche chiedere a qualcuno di svolgere il mio progetto come lo hanno gia fatto alcuni negli anni passati su alcuni forum, chiedevo semplicemente un aiuto per vedere di andare avanti da solo.
    Ma cmq sia se a qualcuno piacerebbe collaborare per me sarebbe molto più semplice!

    Per esempio ora sono nella fase iniziale e il compilatore mi da alcuni errori del tipo:
    "alla riga "tot": too many chars." e non capisco cosa significherebbe.
    Ed è per questo che chiedevo se c'era qualche tutorial in giro tipo quello del java ben spiegato, per semplificarmi la vita, visto che ad arrivarci su alcune cose faccio fatica.

    Grazie
    niente è impossibile

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Il mio dubbio era solo sul fatto che ne volevi uno per l'8088 ... ne va bene anche uno per l'8086 ...

    Ovviamente non parliamo di farti tutto il programma, pero' questo e' un forum di programmazione e quindi puoi proporre del codice che hai scritto e ci ragioniamo sopra senza problemi ...

    Quale assembler utilizzi?

    Il messaggio d'errore ti indica proprio qual e' il problema ... mostra la riga in cui te lo da' ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Uso assembler 8088.

    gli errori sono questi:

    1)line 36: too many chars -----------> 3: PUSH 0
    2)line 45: too many chars -----------> 4: MOV SP, BP
    3)line 116: too many chars ----------> getnum:
    4)line 127: too many chars ----------> PUSH numfmt

    1) il codice inizia cn l'etichetta 3: e continua cn l'apertura del file
    2) il codice inizia con l'etichetta 4: che in caso di errore di apertura del file salta a questa etichetta per stampare un messaggio d'errore
    3)qui invece inizia semplicemente sotto a questa etichetta una procedura
    4)numfmt sarebbe l'indirizzo della stringa di formattazione

    In pratica spingendo un pulsante il programma dovrebbe aprirmi un file e stamparmi una stringa

    Cmq forse è meglio porre il codice.
    niente è impossibile

  6. #6
    Cmq forse è meglio porre il codice.
    Sì, è molto meglio postarlo...

    Dovresti inoltre indicare il sito dal quale hai scaricato l'assembler, la risposta "assembler 8088" non fornisce abbastanza informazioni.
    "Se riesci a passare un pomeriggio assolutamente inutile in modo assolutamente inutile, hai imparato a vivere."

  7. #7
    il sito è:
    ftp://ftp.cs.vu.nl/pub/evert/

    ecco il codice:

    #include "..\\syscalnr.h" ! 1
    bufsiz= 512 ! 2
    .SECT .TEXT ! 3
    jumpstrt: ! 4
    PUSH strt ! 5
    MOV BP,SP ! 6
    PUSH _PRINTF ! 7
    SYS ! 8
    PUSH _GETCHAR ! 9
    1: SYS ! 10
    CMPB AL,'0' ! 11
    JE 3f ! 12
    JL 1b ! 13
    JG 1b ! 14
    3: PUSH 0 ! 15
    PUSH "x.txt" ! 16
    PUSH _OPEN ! 17
    SYS ! 18
    CMP AX,0 ! 19
    JL 4f ! 20
    MOV (fildes),AX ! 21
    MOV BX,0 ! 22
    MOV SI,linhed+2 ! 23
    4: MOV SP,BP ! 24
    PUSH "x.txt" ! 25
    PUSH errmess ! 26
    PUSH _PRINTF ! 27
    SYS ! 28
    PUSH _EXIT ! 29
    PUSH _EXIT ! 30
    SYS ! 31
    1: CALL fillbuf ! 32
    CMP CX,0 ! 33
    JLE 5f ! 34
    2: MOVB AL,'\n' ! 35
    REPNE SCASB ! 36
    JNE 1b ! 37
    INC (count) ! 38
    MOV AX,BX ! 39
    SUB AX,CX ! 40
    XCHG SI,DI ! 41
    STOS ! 42
    XCHG SI,DI ! 43
    CMP CX,0 ! 44
    JNE 2b ! 45
    JMP 1b ! 46
    5: CALL getnum ! 47
    CMP AX,0 ! 48
    JLE 8f ! 49
    MOV BX,(curlin) ! 50
    CMP BX,0 ! 51
    JLE 7f ! 52
    CMP BX,(count) ! 53
    JG 7f ! 54
    SHL BX,1 ! 55
    MOV CX,linhed(BX) ! 56
    MOV AX,linhed-2(BX) ! 57
    PUSH 0 ! 58
    PUSH 0 ! 59
    PUSH AX ! 60
    PUSH (fildes) ! 61
    PUSH _LSEEK ! 62
    SYS ! 63
    SUB CX,AX ! 64
    PUSH CX ! 65
    PUSH buf ! 66
    PUSH (fildes) ! 67
    PUSH _READ ! 68
    SYS ! 69
    ADD SP,4 ! 70
    PUSH 1 ! 71
    PUSH _WRITE ! 72
    SYS ! 73
    ADD SP,14 ! 74
    JMP 5b ! 75
    8: PUSH scanerr ! 76
    PUSH _PRINTF ! 77
    SYS ! 78
    ADD SP,4 ! 79
    JMP 5b ! 80
    7: PUSH 0 ! 81
    PUSH _EXIT ! 82
    SYS ! 83
    fillbuf: ! 84
    PUSH bufsiz ! 85
    PUSH buf ! 86
    PUSH (fildes) ! 87
    PUSH _READ ! 88
    SYS ! 89
    ADD SP,8 ! 90
    MOV CX,AX ! 91
    ADD BX,CX ! 92
    MOV DI,buf ! 93
    RET ! 94
    getnum: ! 95
    MOV DI,"x.txt" ! 96
    PUSH _GETCHAR ! 97
    1: SYS ! 98
    CMPB AL,'\n' ! 99
    JL 4b ! 100
    JE 1f ! 101
    STOSB !102
    JMP 1b !103
    1: MOVB (DI),'\0' !104
    PUSH curlin !105
    PUSH numfmt !106
    PUSH "x.txt" !107
    PUSH _SSCANF !108
    SYS !109
    ADD SP,10 !110
    RET !111
    .SECT .DATA ! 112
    strt: .ASCIZ "Premi il tasto (x).\n" !113
    errmess: .ASCIZ "%s -1\n" !114
    numfmt: .ASCIZ "%d" !115
    scanerr: .ASCIZ "Digitare un numero.\n" !116
    .ALIGN 2 !117
    .SECT .BSS !118
    fildes: .SPACE 2 !119
    linhed: .SPACE 8192 !120
    curlin: .SPACE 4 !121
    buf: .SPACE bufsiz+2 !122
    count: .SPACE 2 !123

    gli errori si vedranno nel assemblaggio..e bisogna sootrarre 21 righe visto che c'è un file delle chiamate di sistema incluse
    Grazie.
    niente è impossibile

  8. #8
    un errore lho trovato!

    non è possibile invocare con la chimata OPEN mettendo il nome del file che mi serve
    per aprire

    dovrei memorizzare il nome del file come una stringa, e questo ho fatto
    pero poi quando faccio partire il codice visto k non mi da alcun errore
    mi esce dalla procedura quando va a confrontare il valore di AX
    forse è perche non ho allocato uno spazio nel buffer nella sezione BSS
    per la lettura del file
    per ora non saprei come fare
    niente è impossibile

  9. #9

    bene bene

    va bene..
    stranamente in tutti i forum dei programmatori quando uno studente mette
    un post e chiede di aiutarli in alcune cose del suo progetto, NON GLI RISPONDE NESSUNO
    peccato..
    forse era meglio se ponevo la domanda in modo diverso..sicuramente..
    nn so quanto sono appasionati i programmatori di questo forum e non ho guardato altri post
    su altre varie problematiche dove sicuramente qualcuno c'è stato a collaborare, e sicuramente
    nessuno è abbligato a rispondere e non cè un limite di tempo, ma cmq sia
    grazie lo stesso
    niente è impossibile

  10. #10
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    Bè considera che non sono così tanti gli utenti che conoscono l'assembler.. piuttosto che dare risposte inutili...

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 © 2024 vBulletin Solutions, Inc. All rights reserved.