Visualizzazione dei risultati da 1 a 8 su 8

Visualizzazione discussione

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2014
    Messaggi
    3

    Procedura con i puntatori [Assembly]

    Salve a tutti,ho cercato la sezione relativa alle presentazioni ma non l'ho trovata quindi mi scuso se mi presento qui. Sono francesco,19 anni,e studio ingegneria elettronica e informatica. Sono al secondo anno e alle prese con l'8086 della intel. Provavo a svolgere questa traccia Realizzare in un linguaggio assemblativo una procedura che riceve in ingresso il puntatore a una stringa di caratteri terminata da 0 (ASCII NUL) e che restituisca la lunghezza della stessa. La procedura dovrà essere richiamabile da un programma esterno e ricevere il numero n come parametro variabile attraverso lo stack. Ho provato a elaborare qualcosa e vorrei un vostro parere in merito al mio procedimento.


    codice:
    
    
    codice:
    PUSH   BP
    MOV    BP,SP
    MOV    DX,DI ; salva DI
    MOV    AX,DS
    MOV    ES,AX
    MOV    DI,Word Ptr [BP+04]         ;puntatore alla stringa
    XOR    AX,AX                            ;azzero AX
    MOV    CX,0FFFFH                     ;il massimo numero rappresentabile 65536
    REPNE  SCASB                          ; scansiono la stringa fino a cercare la fine
    NOT    CX
    DEC    CX
    XCHG   AX,CX                           ;sposto il valore di ritorno in ax    
    MOV    DI,DX
    POP    BP                                 ;ripristino bp
    RET

    Ci sono errori? avreste altri modi di svolgere il tutto? Grazie a tutti!
    Ultima modifica di LeleFT; 08-07-2014 a 13:49 Motivo: Aggiunti i tag CODE

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.