Pregunta

Estoy haciendo un emulador para binarios Z80, pero no puedo averiguar si todos los tipos de datos enteros son firmados o sin firmar rel desde el manual o de google. Así son los números de registros A, B ... HL, etc BC firmados o no?

Además, en código de máquina son los bytes / palabras / direcciones que vienen después de las instrucciones de como argumentos o sin signo?

Al igual que en estos ejemplos (de 8080 / Z80 Conjunto de instrucciones ):

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

Gracias de antemano.

¿Fue útil?

Solución

  1. Los registros pueden contener, y la mayoría de los operandos calcular ambas respuestas al mismo tiempo debido a complemento a dos. Algunas instrucciones No obstante, tenemos información de si el valor que contiene es con o sin signo. Existen en dos formas, una para firmado y otro para firmar. No puedo recordar si Z80 tiene cualquiera de estos.

  2. Sede (1.) Las direcciones absolutas son direcciones sin firmar y relativos (ramas) son firmados, para ser capaz de saltar hacia atrás.

Otros consejos

instrucciones

de datos de lengua AKAIK, montaje y transferencia no contienen información de señal. Ambas operaciones de transferencia de datos y sólo se definen tamaño de los datos. Señal de información es parte de algunas instrucciones, como instrucciones de multiplicación firmados / no firmados. Por lo tanto, el mismo registro puede ser manejado por la instrucción imul como entero con signo, y por la instrucción mul como entero sin signo.

En muchas máquinas, las únicas diferencias entre los números con y sin signo son la manera en que se realizan las comparaciones de magnitud, y la forma en que los valores más cortos se convierten en las más largas (nota que las operaciones se multiplican muchos transformadores convierten efectivamente tipos más cortos para los más largos, y la división inherentemente comparaciones realiza magnitud). Al realizar cualquier tipo de operación distintos de los operandos anteriores, con y sin signo se tratan con precisión (bit a bit) de la misma manera, por lo que no hay necesidad de distinguirlos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top