Non capisco il significato di queste istruzione

di il
4 risposte

Non capisco il significato di queste istruzione

Ciao mi potreste spiegare il significato di questa istruzione:
 
 jmp $

times 510-($-$$) db 0

db 0x55
db 0xaa
il codice per intero è questo:

;
; Note: this example is written in Intel Assembly syntax
;
[BITS 16]
[ORG  0x7c00]

boot:
    mov al, 'ciao'
    mov ah, 0x0e
    mov bh, 0x00
    mov bl, 0x07

    int 0x10
    jmp $

times 510-($-$$) db 0

db 0x55
db 0xaa

4 Risposte

  • Re: Non capisco il significato di queste istruzione

    E' un salto alla stessa istruzione
  • Re: Non capisco il significato di queste istruzione

    Quindi jump $ mi fa saltare alla stessa funzione?? Un altra cosa ma
    
    
    
    times 510-($-$$) db 0
    
    db 0x55
    db 0xaa
    


    per cosa sta?
  • Re: Non capisco il significato di queste istruzione

    L'operatore $ indica la locazione corrente, mentre $$ indica la locazione iniziale del codice. L'istruzione jmp $ crea un loop infinito, ripetendo indefinitamente un salto alla locazione corrente, dove si trova l'istruzione di salto alla locazione corrente, eccetera.

    La direttiva times provoca l'immissione di un determinato numero di replicati del medesimo valore costante. In questo caso, riempie la rimanente parte del settore (512 bytes, a cui viene sottratto il numero di locazioni del codice assemblato e le due locazioni del watermark) con valori nulli, chiudendo poi il settore di boot con il tipico marker a griglia bit-shifted AA55h ovvero 1010101001010101b.
  • Re: Non capisco il significato di queste istruzione

    Grazie mille
Devi accedere o registrarti per scrivere nel forum
4 risposte