Se bytes / palabras / direcciones con o sin signo de código en ensamblador Z80 / máquina?
-
02-10-2019 - |
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.
Solución
-
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.
-
Sede (1.) Las direcciones absolutas son direcciones sin firmar y relativos (ramas) son firmados, para ser capaz de saltar hacia atrás.
Otros consejos
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.