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

    [assembler] Xor e And su stringhe

    Salve a tutti,
    scusate il post più che altro a scopo accademico sull'assembler, ma sono rimasto con un dubbio.

    Si parla di assembler 8086 e si programma sull'emulatore emu8086, ed è stato brevemente accennato che mediante i comandi "xor" e "and" è possibile fare operazioni su strignhe in modo da mascherare determinati caratteri, cancellarne alcuni, cambiarne altri.

    Da quello che ho capito con un opportuna combinazione di xor ed and è possibile trasformare la scrittà "ciao" in "ciap" oppure ottenere solo la lettera "p" azzerando tutte le altre.

    Sapreste citarmi a tal propostio qualche spezzone di codice opportunamente commentato?

    Vi ringrazio in anticipo,
    neptune.
    "Estremamente originale e fantasioso" By darkiko;
    "allora sfiga crepuscolare mi sa che e' meglio di atmosfera serale" By NyXo;
    "per favore, già è difficile con lui" By fcaldera;
    "se lo apri te e invece di "amore" ci metti "lavoro", l'effetto è lo stesso" By fred84

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non c'è bisogno di "codice commentato" ...

    Prendi una tabella ASCII e prova ad usare l'AND e lo XOR con i vari caratteri.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Originariamente inviato da oregon
    Non c'è bisogno di "codice commentato" ...

    Prendi una tabella ASCII e prova ad usare l'AND e lo XOR con i vari caratteri.
    allora b= 98d = 1100010

    Se facessi l'AND con una riga di tutti 1, quindi dovrebbe essere un AND bit a bit, no?
    avrei:

    1100010 and
    1111111
    1100010 = sempre a 98d


    Effettivamente se faccio l'and con 1 ho di nuovo la stessa stringa, se faccio l'XOR con 1 ho:

    1100010 XOR
    1111111
    0011101 giusto? perchè l'xor se non ricordo male a due valori uguali associava 0, quindi ho 29d che sarebbe un carattere a caso. Cosa mi sfugge sull'xor?
    "Estremamente originale e fantasioso" By darkiko;
    "allora sfiga crepuscolare mi sa che e' meglio di atmosfera serale" By NyXo;
    "per favore, già è difficile con lui" By fcaldera;
    "se lo apri te e invece di "amore" ci metti "lavoro", l'effetto è lo stesso" By fred84

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non ti sfugge nulla ... lo xor funziona in quel modo ... qual è il problema?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Originariamente inviato da oregon
    Non ti sfugge nulla ... lo xor funziona in quel modo ... qual è il problema?
    Lei diceva che utilizzando l'"and" su una stringa riuscivi a selzionare un singolo caratattere, e qui ritorniamo al fatto di prima di fare tutti gli altri caratteri con un "and a 0" per azzerarli.

    Poi diceva il caso, utilizzando sia and che xor di invece di prendere un singolo carattere e gli si poteva cambiare il valore. Non capisco in questo caso a cosa serve l'xor.

    Cioè se mi seleziono una lettera, e voglio farla diventare un'altra... l'xor a cosa mi dovrebbe eservire?
    "Estremamente originale e fantasioso" By darkiko;
    "allora sfiga crepuscolare mi sa che e' meglio di atmosfera serale" By NyXo;
    "per favore, già è difficile con lui" By fcaldera;
    "se lo apri te e invece di "amore" ci metti "lavoro", l'effetto è lo stesso" By fred84

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da Neptune
    Cioè se mi seleziono una lettera, e voglio farla diventare un'altra... l'xor a cosa mi dovrebbe eservire?
    Parti dalla stringa

    CIAO

    e applica lo xor ad ogni carattere con i seguenti valori esadecimali (il primo con il primo e così via ...)

    01h 10h 04h 6Eh
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.