Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22
  1. #1
    Utente di HTML.it L'avatar di Iena87
    Registrato dal
    Dec 2003
    Messaggi
    429

    [Assembler] Istruzione per pulire lo schermo

    In DOS basta utilizzare il comando CLS per pulire lo schermo, ma nello scrivere un programma in assembler, quale istruzione devo utilizzare?
    Perchè so l'algoritmo per pulire lo schermo, ma è bello lungo, e nn vorrei riscriverlo ogni volta...

  2. #2
    Utente di HTML.it L'avatar di cso
    Registrato dal
    Aug 2004
    Messaggi
    2,050
    prova questo:
    codice:
    MOV     AH,00h
    MOV     AL,03h
    INT     10h
    dovrebbe funzionare ma come si sa programmare in assembly implica non essere sicuri di niente!!!
    oddio, l'ho stracciata un po' troppo!!!

  3. #3
    Utente di HTML.it L'avatar di Iena87
    Registrato dal
    Dec 2003
    Messaggi
    429
    Originariamente inviato da cso
    prova questo:
    codice:
    MOV     AH,00h
    MOV     AL,03h
    INT     10h
    dovrebbe funzionare ma come si sa programmare in assembly implica non essere sicuri di niente!!!
    oddio, l'ho stracciata un po' troppo!!!
    Si è questo il codice...però vedendo una dispensa dice:

    Interruzione 10h: servizi video
    Funzione 00h: Impostazione modalità video
    se AL = 03H la modalità è:
    testo a colori 16/8 EGA:64 colori


    Che c'entra con la pulitura dello schermo???? mha....

    Porco Assembler...mi fa uscire pazzo....

  4. #4
    Utente di HTML.it L'avatar di cso
    Registrato dal
    Aug 2004
    Messaggi
    2,050
    l'ho guardato sulle norton guides che come sempre non servono a niente ma mi sono ricordato alla fine come fare!!!
    Porco Assembler...mi fa uscire pazzo....
    No...non ti fa uscire proprio!!!

  5. #5
    questo codice compie la stessa operazione di 'cls', l'ho assemblato con NASM e funziona (ho dovuto aggiungere il posizionamento del cursore perché dopo lo scroll il prompt non so perché mi appariva sempre in basso...)

    [BITS 16]
    [ORG 0100H]

    [SECTION .text]
    START:
    mov ax,0600h
    mov cx,0000h
    mov dx,184Fh
    mov bh,07
    int 10h
    mov ah,02
    mov bh,00
    mov dx,0000h
    int 10h
    mov ax,04C00h
    int 21h

  6. #6
    Utente di HTML.it L'avatar di cso
    Registrato dal
    Aug 2004
    Messaggi
    2,050
    forse conviene più il mio visto che sono 3 istruzioni

    cmq per passare il comando all'OS ti conviene fare:

    MOV AH,4Ch
    INT 21h

    E' più figo!

  7. #7
    ah ecco...
    sinceramente non avevo capito il riferimento delle 3 istruzioni, non riuscivo a trovare le funzioni (=operazioni) dei valori messi in quei registri, per questo mi ero messo a postare quel codice così lungo...

  8. #8
    Utente di HTML.it L'avatar di Iena87
    Registrato dal
    Dec 2003
    Messaggi
    429
    E io ne so uno ancora più lungo...in pratica facendo riferimento alla matrice adibita allo schermo, la carico con tutti space e il gioco è fatto...

  9. #9
    Utente di HTML.it L'avatar di Iena87
    Registrato dal
    Dec 2003
    Messaggi
    429
    Originariamente inviato da cso
    forse conviene più il mio visto che sono 3 istruzioni

    cmq per passare il comando all'OS ti conviene fare:

    MOV AH,4Ch
    INT 21h

    E' più figo!
    Infatti...si so fatti un popò tanto per fare ste funzioni e noi nn le sfruttiamo???

  10. #10
    ho un computer da un anno e mezzo, mi sono avvicinato da poco all'Assembler perché mi 'affascina' la possibilità di parlare direttamente con la macchina, impararlo è comunque difficile (una volta su Internet avevo letto che era un linguaggio molto 'facile' - sic!) anche per l'assoluta mancanza di testi - qualcuno in inglese, non sempre di facile lettura...per fortuna c'è Internet e questo forum (e la biblioteca dove recupero vecchi testi anni '80...)
    comunque grazie, effettivamente mettere il valore 4C nel registro AH funziona ed è più 'pulito' di tutti quegli 0 ridondanti...

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.