Open DavidENicolasC opened 9 months ago
Las variables de punto flotante se guardarán como si fueran enteros.
45.67 se guardará como:
a DW ?
mov ax, 4567
mov a, ax
Ventaja: Las operaciones aritméticas son más sencillas de realizar en el código ensamblador. Limitación: La capacidad de la variable que podemos ofrecer para el tipo de dato float.
El procesador Intel 8086 utiliza 4 registros de propósito general de 16 bits: AX, BX, CX y DX. Que se dividen, a su vez, en 8 registros de propósito general de 8 bits: AH, AL, BH, BL, CH, CL, DH, DL
Con la información anterior, los tamaños de palabra que maneja el procesador Intel 8086 son los siguientes: | palabra | tamaño | rango |
---|---|---|---|
B (Byte) | 8 bits o 2 bytes (FF) | -128 a 127 | |
W (Word) | 16 bits o 4 bytes (FFFF) | -32768 a 32767 |
El tamaño de palabra más grande que podemos ofrecer para el tipo de dato int es el de 16 bits.
Si guardamos los datos de tipo float como enteros, el rango que podemos ofrecer es: -327.68 a 327.67
Para garantizar que las literales numéricas escritas en el ensamblador cumplan estos rangos, hay que incluir esta verificación en el análisis semántico.
Se requiere que el compilador trabaje con expresiones como:
Con una precisión de dos decimales