DIV, IDIV, NEG 
David Flores Gallegos
Para la división la instrucción DIV (dividir) maneja datos 
sin signo y la instrucción IDIV(división entera maneja datos 
con signo. 
Formato: 
[Etiqueta:] Div | IDiv [Registro | Memoria] 
División
Aquí el dividendo está en el registro AX y el divisor es un 
byte en memoria o en otro registro. Después de la división, 
el residuo esta en la parte alta del registro AX (AH) y el 
cociente esta en la parte baja del registro AX (AL). Ya que 
un cociente de un byte es muy pequeño; 
• Si es sin signo: Máximo de +255 (FFH). 
• Si es con signo: Máximo de +127 (7FH). 
Esta operación tiene un uso limitado 
AX 
AH 
Residuo 
Palabra Entre Byte 
AL 
Cociente 
Antes de la operación----- 
Después de la operación--
;Declaración de variables DIV 
Byte1 DB 80h; 128 en decimal 
Word1 DW 2000h ; 8192 en decimal 
------------------------------------------ 
;Instrucciones 
MOV AX, word1 
DIV Byte1 
Antes de la división 
AX 
AH 
20 
AL 
00 
Después de la división 
AX 
AH 
(Residuo) 
00 
AL 
(cociente) 
40 
;el resultado de 8192/128 = 64 (40h)
;Declaración de variables IDIV 
Byte1 DB 80h; 128 en decimal 
Word1 DW 2000h ; 8192 en decimal 
------------------------------------------ 
;Instrucciones 
MOV AX, word1 
IDIV Byte1 
Antes de la división 
AX 
AH 
20 
AL 
00 
Después de la división 
AX 
AH 
(Residuo) 
00 
AL 
(cociente) 
C0 
;el resultado de 8192/-128 = -64 (C0h)
La operación NEG (negar invierte el signo de un numero 
binario, de positivo a negativo y viceversa. En realidad, 
NEG invierte los bits, igual que NOT, y después suma uno 
para una correcta notación en complemento a dos. El 
formato para NEG es: 
[Etiqueta:] NEG [Registro | Memoria] 
Cambio (Inversión) del signo
NEG 
;Negación Positivo A Negativo Y Viceversa 
MOV AL,3; negado es FD hex 
NEG AL 
MOV AL,-3 
NEG AL 
Positivo a Negativo 
AX 
Antes Después 
AL 
03 
AL 
FD 
Negativo a Positivo 
AX 
Antes Después 
AL 
FD 
AL 
03

Div, idiv, Neg ensamblador

  • 1.
    DIV, IDIV, NEG David Flores Gallegos
  • 2.
    Para la divisiónla instrucción DIV (dividir) maneja datos sin signo y la instrucción IDIV(división entera maneja datos con signo. Formato: [Etiqueta:] Div | IDiv [Registro | Memoria] División
  • 3.
    Aquí el dividendoestá en el registro AX y el divisor es un byte en memoria o en otro registro. Después de la división, el residuo esta en la parte alta del registro AX (AH) y el cociente esta en la parte baja del registro AX (AL). Ya que un cociente de un byte es muy pequeño; • Si es sin signo: Máximo de +255 (FFH). • Si es con signo: Máximo de +127 (7FH). Esta operación tiene un uso limitado AX AH Residuo Palabra Entre Byte AL Cociente Antes de la operación----- Después de la operación--
  • 4.
    ;Declaración de variablesDIV Byte1 DB 80h; 128 en decimal Word1 DW 2000h ; 8192 en decimal ------------------------------------------ ;Instrucciones MOV AX, word1 DIV Byte1 Antes de la división AX AH 20 AL 00 Después de la división AX AH (Residuo) 00 AL (cociente) 40 ;el resultado de 8192/128 = 64 (40h)
  • 5.
    ;Declaración de variablesIDIV Byte1 DB 80h; 128 en decimal Word1 DW 2000h ; 8192 en decimal ------------------------------------------ ;Instrucciones MOV AX, word1 IDIV Byte1 Antes de la división AX AH 20 AL 00 Después de la división AX AH (Residuo) 00 AL (cociente) C0 ;el resultado de 8192/-128 = -64 (C0h)
  • 6.
    La operación NEG(negar invierte el signo de un numero binario, de positivo a negativo y viceversa. En realidad, NEG invierte los bits, igual que NOT, y después suma uno para una correcta notación en complemento a dos. El formato para NEG es: [Etiqueta:] NEG [Registro | Memoria] Cambio (Inversión) del signo
  • 7.
    NEG ;Negación PositivoA Negativo Y Viceversa MOV AL,3; negado es FD hex NEG AL MOV AL,-3 NEG AL Positivo a Negativo AX Antes Después AL 03 AL FD Negativo a Positivo AX Antes Después AL FD AL 03

Notas del editor

  • #5 Cuando se hacen divisiones de byte entre byte se asigna 0 a la parte alta de AX para evitar que tome otros valores utilizados en ejecución