Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [Assembly 8086]Aquisizione

    Ciao raga qualkuno di voi mi potrebbe fare un esempio di sintassi, di acquisizione di una variabile dalla tastiera.

  2. #2
    Quale assembler usi? Per quale sistema operativo?
    "Se riesci a passare un pomeriggio assolutamente inutile in modo assolutamente inutile, hai imparato a vivere."

  3. #3
    Nel titolo e' specificato uso 8086.
    Sistema operativo WIndows Xp

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Puoi usare i servizi del DOS ?

    Ad esempio la chiamata

    INT 21

    con la funzione 0Ah per l'input bufferizzato da tastiera?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Nel titolo e' specificato uso 8086.
    Infatti non ti ho chiesto l'architettura (x86), ma informazioni sul sistema operativo e sull'assembler utilizzati. Se usi Windows XP e lavori con un assembler in grado di generare codice a 16 bit allora puoi richiamare i servizi dell'INT 21, altrimenti devi interagire con la Windows API.
    "Se riesci a passare un pomeriggio assolutamente inutile in modo assolutamente inutile, hai imparato a vivere."

  6. #6
    Si posso richiamare i servizi dell' int21.
    ma mi potreste fare un esempio?? acquinsendo una variabile

  7. #7
    Si posso richiamare i servizi dell' int21.
    ma mi potreste fare un esempio??
    No, almeno finché non rispondi alla domanda "quale assembler usi", rispondi in modo dettagliato, ossia indicando il nome e la versione esatta del tuo assembler. Non è così scontato (anzi!) che tu possa invocare direttamente i servizi dell'interrupt 21 su un sistema operativo Windows recente.
    "Se riesci a passare un pomeriggio assolutamente inutile in modo assolutamente inutile, hai imparato a vivere."

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Originariamente inviato da Salvatore_91
    Si posso richiamare i servizi dell' int21.
    ma mi potreste fare un esempio?? acquinsendo una variabile
    Puoi acquisire dati in un buffer dati usando la chiamata

    INT 21 subfunction 0Ah

    La documentazione e' la seguente

    Buffered Keyboard Input
    AH = 0Ah
    DSX = segmentffset of the buffer nothing Reads a string of bytes from the standard input device and sends the characters to a buffer. This function echoes characters to the standard output device. The input ends when it receives a carriage return code. Uses the buffer in the following format:
    Offset Size Description
    00h 1 maximum number of characters (including the carriage return) buffer can hold
    01h 1 number of characters
    02h n actual characters read from input including the carriage return which terminated the string

    Ora non ho tempo di farti l'esempio, ma la documentazione e' semplice ... PUOI PROVARCI ANCHE TU ... (almeno provarci)

    Naturalmente i dati nel buffer rappresentano i valori ASCII dei tasti pressati ... se vuoi ottenere un valore numerico binario dovrai fare la trasformazione da ASCII a binario (un po' come fa la atoi del C ...)
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    153
    Queste sono le istruzioni di acquisizione con eco
    codice:
    		
    MOV AH, 01h		;Acqisizione dato con eco 		
    INT 21h
    E queste sono le istruzioni per l'acquisizione di un dato senza eco
    codice:
    		
    MOV AH, 07h		;Acqisizione dato con eco 		
    INT 21h
    Niente è impossibile...

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.