Visualizzazione dei risultati da 1 a 7 su 7

Discussione: [ASSEMBLY] Fibonacci

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    8

    [x86] Funzioni di syscall

    Ho bisogno di un enorme favore da chiunque di voi.
    Ho bisogno di sapere quali sono le istruzioni che mi implementano in linguaggio x86:
    1-Leggere un numero(dato) da tastiera
    2-Stampare un numero su video
    3-Stampare una stringa su video.
    Vi prego datemi una mano non so piu dove andare a sbattere la testa.
    Grazie

  2. #2
    linguaggio x86?
    ma intendi la famiglia di processori x86 - ti riferisci all'assembler di quei processori=?
    DYNAMIC+ [ E-mail ]

    Secondo me non si può fare!

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    8
    Si quello.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    In realta', strettamente parlando, non si puo' rispondere alle tue domande perche' nessuna istruzione assembler x86, in se', realizza quanto chiedi.

    Per fare anche una sola di queste operazioni, ti devi riferire alle funzioni base del firmware (o del sistema operativo) legato ai sistemi detti "compatibili PC IBM".

    Insomma, si deve parlare delle funzionalita' offerte dal BIOS (INT 10, INT 16 ...) oppure non ha senso.

    Prima di andare avanti, dovresti chiarire questo aspetto della tua domanda ...

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    8
    Si scusate mi sono spiegato male. Io devo scrivere la funzione di Fibonacci in linguaggio assembly x86 e io devo prendere da tastiera il numero di cui devo calcolare la funzione e poi stampare a video il risultato.
    In pratica devo tradurre questi pezzi di linguaggio MIPS:

    1) li $v0, 1 # carica in $v0 il codice della print_int
    add $a0, $s0, $0 # carica in $a0 il risultato salvato in $s0
    syscall # stampa il risultato

    2) li $v0, 5 # carica in $vo0 il codice della read_int
    syscall # legge l'intero e lo carica in $v0

    Spero di essermi spiegato un po meglio.Scusate ancora

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    41

    Speriamo

    CIAO ..allura devi sfruttare l'INT 21h

    per acquisere un carattere con eco su video devi muovere il valore 01h nel registro AH, poi richiamare l'int21h,
    questa funzione attende la battitura di un tasto , lo stampa a video e ne restituisce il codice ASCII in AL...
    quindi
    mov ah,01h
    int 21h

    e in AL hai il codice ascci..nota hai il codice ascii, ciò vuol dire che se inserisci da tastiera un numero ad esempio 2 in AL avrai 32h...quindi per ottenere il vero numero devi sottrarre 30h

    per visualizzare a video invece devi muovere in DL il carattere che vuoi stampare poi muovere in AH 02h e richiamare l'int21h
    quindi:
    mov DL,63d ( il codice ascii del punto interrogativo: ?)
    mov ah,02h
    int 21h


    spero di essere chiaro e di non avere connesso errori ...è da moltissimo che non uso il bellissimo assembler

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    8
    Grazie mille mi hai salvato la vita.

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.