Wow ci sono riuscito!!!

di il
5 risposte

Wow ci sono riuscito!!!

Sono riuscito a generare un numero casuale in assembler !!
Finamente se c'è qualcuno che o vuole sapere mi contatti sul forum stesso
ihihi
sono riuscito a creare anche una calcolatrice a 16 bit
ciao

5 Risposte

  • Re: Wow ci sono riuscito!!!

    Ciao é dai tempi della scuola che non scrivo una riga di assembly ma dovrei ancora ricordarlo...

    se ti va posta il codice, lo vedo volentieri magari provo anche ad eseguilo

    Ciao
  • Re: Wow ci sono riuscito!!!

    Ecco il codice del giochino che ho fatto sul numero casuale se nn capisci qualcosa chiedi pure..

    title gioco
    ; gioco indovina un numero da 0 a 9 casuale

    .model small
    .stack 100h
    .data
    benv db ":-)...Benvenuto nel programma Indovina...",13,10,"$"
    benv0 db "-------------------------------------------",13,10,"$"
    benv1 db " Prova a indovinare!",13,10,"$"
    benv2 db" Scegli il tuo livello di difficolt…!!",13,10,"$"
    benv3 db" Premi 1. per Facile",13,10,"$"
    benv4 db" Premi 2. per Medio",13,10,"$"
    benv5 db" Premi 3. per Difficile",13,10,"$"
    benv6 db" ESC per uscire dall'applicazione",13,10,"$"
    scegli db" Cosa scegli:","$"
    vite db " OK HAI TENTATIVI A DISPOSIZIONE:","$"
    mess1 db "Prova.. Inserisci un carattere da tastiera!:",13,10,"$"
    mess2 db ":-)...Hai Vinto...sei riuscito ad indovinare il carattere!!!:","$"
    mess3 db ":-( tentativo fallito...!",13,10,"$"
    mess4 db " GAME OVER try again!",13,10,"$"
    mess5 db " Vuoi iniziare una nuova partita? s/n:","$"
    mess6 db "Scelta nn valida!...",13,10,"$"
    mess7 db "Il carattere da indovinare Š minore!...",13,10,"$"
    mess8 db "Il carattere da indovinare Š maggiore!...",13,10,"$"
    capo db " ",13,10,"$"
    var1 db(?)
    var2 db(?)
    tent db(?)
    i db(0)
    k db(0)
    s db(115)
    scelta db(?)
    .code
    mov ax,@data
    mov ds,ax

    mov dx, offset benv
    mov ah,09h
    int 21h
    mov dx, offset benv0
    mov ah,09h
    int 21h
    jmp x
    inizio1:
    ;generazione numero casuale
    mov ah,2ch
    int 21h
    mov ah,0
    mov al, dl
    mov dl, 10
    div dl
    mov var1,ah
    add var1,48

    mov dx,offset capo
    mov ah,09h
    int 21h
    x:
    mov dx, offset benv1
    mov ah,09h
    int 21h
    mov dx, offset benv2
    mov ah,09h
    int 21h
    mov dx, offset benv3
    mov ah,09h
    int 21h
    mov dx, offset benv4
    mov ah,09h
    int 21h
    mov dx, offset benv5
    mov ah,09h
    int 21h
    mov dx, offset benv6
    mov ah,09h
    int 21h

    vaiascelta:
    mov dx, offset scegli
    mov ah,09h
    int 21h

    mov ah,01h
    int 21h

    mov scelta,al
    cmp scelta,49
    je facile
    cmp scelta,50
    je medio
    cmp scelta,51
    je difficile
    cmp scelta,27
    je exit

    mov dx,offset capo
    mov ah,09h
    int 21h
    mov dx,offset mess6
    mov ah,09h
    int 21h
    mov dx,offset capo
    mov ah,09h
    int 21h
    jmp vaiascelta
    exit:jmp chiudi
    facile: mov tent,5
    jmp a
    medio: mov tent,3
    jmp b
    difficile:mov tent,1
    jmp c
    a:
    b:
    c:
    mov dx,offset vite
    mov ah,09h
    int 21h

    mov al,tent
    add al,48

    mov dl,al
    mov ah,02h
    int 21h

    ricontrolla:
    mov dx,offset capo
    mov ah,09h
    int 21h
    mov cl,tent
    cmp i,cl
    jae perdi
    jmp qui
    perdi:jmp perdi1
    qui:
    ;visualizzazione messaggio inserimento primo carattere
    mov dx, offset mess1
    mov ah,09h
    int 21h
    ;acqusizione primo carattere da tastiera
    mov ah,01h
    int 21h
    mov var2,al; carica il carattere in memoria
    ;visualizzazione a capo
    mov dx,offset capo
    mov ah,09h
    int 21h
    mov bl,var1

    cmp var2,bl ;ciclo
    je vinci
    ;visualizzazione messaggio output caratteri nn uguali
    mov dx,offset mess3
    mov ah,09h
    int 21h
    cmp var2,bl
    ja stampamax

    mov dx,offset mess8
    mov ah,09h
    int 21h
    jmp www
    stampamax:jmp stampamax1
    stampamax1:
    mov dx,offset mess7
    mov ah,09h
    int 21h
    www:
    add i,1
    jmp ricontrolla
    vinci:
    mov k,0
    testaciclo:
    cmp k,10
    jae fineciclo
    jmp xxx
    fineciclo: jmp domanda
    xxx:
    mov dx,offset capo
    mov ah,09h
    int 21h

    mov dx,offset mess2
    mov ah,09h
    int 21h
    ;visualizza carattere
    mov dl,var1
    mov ah,02h
    int 21h
    mov dl,7h
    mov ah,02h
    int 21h
    add k,1
    jmp testaciclo

    domanda:
    mov dx,offset capo
    mov ah,09h
    int 21h

    mov dx,offset mess5
    mov ah,09h
    int 21h
    mov ah,01h
    int 21h


    cmp al,s
    je inizio
    cmp al,110
    jne altrimenti
    jmp escape
    altrimenti: jmp altrimenti1
    altrimenti1:

    mov dx,offset capo
    mov ah,09h
    int 21h

    mov dx,offset mess6
    mov ah,09h
    int 21h
    jmp domanda
    escape: jmp chiudi
    inizio:
    mov i,0
    jmp inizio1
    perdi1:
    mov dx,offset mess4
    mov ah,09h
    int 21h
    mov dx,offset mess5
    mov ah,09h
    int 21h
    mov dx,offset capo
    mov ah,09h
    int 21h

    mov ah,01h
    int 21h
    cmp al,s
    je vai
    cmp al,110
    je escii

    mov dx,offset capo
    mov ah,09h
    int 21h

    mov dx,offset mess6
    mov ah,09h
    int 21h
    jmp domanda
    escii:
    jmp chiudi
    vai:
    mov i,0
    jmp inizio1
    chiudi:
    mov ah,04ch
    int 21h
    end
  • Re: Wow ci sono riuscito!!!

    Spettacolare
  • Re: Wow ci sono riuscito!!!

    Sono contento che ti piaccia...!!!
    ho fatto tanti altri programmini se vuoi ti faccio vedere ...tu sei bravo in assembly?
  • Re: Wow ci sono riuscito!!!

    Ti ho risposto in mp, non avevo visto subito che mi avevi chiesto la stessa cosa anche sul forum
Devi accedere o registrarti per scrivere nel forum
5 risposte