Programación General > ASM (Ensamblador)

 El Rango De Db Y Sobre Los Numeros Con Signo

(1/1)

tirengarfio:
Hola,

en un codigo tengo este array:


--- Código: Text ---memo  DB 04h DUP (-4, 3h, 250, -250) 
Si es cierto que el rango de DB es [127, -128], ¿por que no me da error el poner numeros como 250 o -250 en mi tabla?.

Cuando supero 255 ó -256 si que se produce un error del tipo "Out of range".



Por otra parte, tengo un codigo que deberia contar el numero de datos negativos en mi tabla (-4 y -250) pero no lo hace. Es este:



--- Código: Text ---   xor di, di bucle2:     shl memo[di], 1  adc cl, 0; Al final del bucle, bl contendrá el numero de datos negativos    inc di    cmp di, 04h  jnz bucle2       mov ch, 04h  sub ch, cl; Restamos el numero de datos negativos encontrados del  numero de    &#59; datos de la tabla (4). Así obtendremos el numero de datos positivos.  


Un saludo

Javi

Eternal Idol:
DB = define byte. Un byte tiene un rango de 0 a 255. Esos valores se pueden interpretar tambien como numeros negativos. Fijate que hay en memoria con el depurador ...

Te recomiendo que compres algun libro o leas tutoriales.

http://www.asmcommunity.net/board/index.ph..._Representation

PD. No mire el codigo, en Internet hay mucho disponible.

tirengarfio:
Gracias Eternal.

Ok. Seguiré tu consejo.

Navegación

[0] Índice de Mensajes

Ir a la versión completa