Domanda

Sto facendo un emulatore per i binari Z80 ma non posso sapere se tutti i tipi di dati interi sono firmate o senza segno rel dal manuale o da Google. Così sono i numeri da registri A, B ... HL, BC ecc firmati o no?

Inoltre, in codice macchina sono i byte / parole / indirizzi che vengono dopo le istruzioni come argomenti con o senza segno?

Come in questi esempi (da 8080 / Z80 Instruction Set ):

8080 Mnemonic    Z80 Mnemonic    Machine Code    Operation
-------------    ------------    ------------    ---------
MVI A,byte       LD  A,byte      3Ebyte          A <- byte
LXI B,word       LD  BC,word     01word          BC <- word
JMP address      JP  address     C3address       PC <- address

Grazie in anticipo.

È stato utile?

Soluzione

  1. I registri possono contenere, e la maggior parte operandi calcolare entrambe le risposte allo stesso tempo, a causa di complemento a due. Alcune istruzioni tratta comunque bisogno di informazioni se il valore che contiene è firmato o non firmato. Esistono in due forme, una per firmato e una per non firmato. Non ricordo se Z80 ha uno di questi.

  2. See (1.) gli indirizzi assoluti sono indirizzi non firmate e relativi (rami) sono firmati, per essere in grado di saltare all'indietro.

Altri suggerimenti

istruzioni

??AKAIK, Assembly Language trasferimento di dati e non contengono informazioni segno. Entrambe le operazioni di dati e di trasferimento definiscono solo la dimensione dei dati. informazioni segno è parte di alcune istruzioni, come firmato istruzioni di moltiplicazione / unsigned. Così, lo stesso registro può essere gestito da istruzioni IMUL come intero con segno, e per l'istruzione mul come numero intero senza segno.

In molte macchine, le uniche differenze tra i numeri con e senza segno sono il modo in cui vengono eseguiti i confronti grandezza, e il modo in cui i valori più brevi sono convertiti in quelli più lunghi (si noti che le operazioni si moltiplicano molti trasformatori convertono in modo efficace i tipi più brevi per quelle più lunghe, e la divisione intrinsecamente confronti esegue magnitudo). Durante l'esecuzione di qualsiasi tipo di operazione diverso da quelli sopra operandi, con e senza segno sono trattati con precisione (bit per bit) nello stesso modo, quindi non c'è bisogno di distinguerli.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top