Professional Documents
Culture Documents
(Parte
B) de Datos, pila, banderas
Para Movimiento
Multiplicacin
Enteros de 8 bits
AX AL*S8
Enteros de 16 bits
DX: AX AX*S16
Enteros de 32 bits
EDX: EAX EAX*S32
Afecta CF y OF
SF, ZF, AF, PF no definidas
Ejemplo de MUL
MOV BL, 0FEH
MOV AL, 0E5H
MUL BL
BL = 254 AL = 229
Despus de MUL
AX = 0E336H (58166D)
CF=OF=1 (resultado
requiere una palabra)
Ejemplo de IMUL
MOV AWORD,-136
MOV AX, 6784
IMUL AWORD
AWORD contiene 0FF78H ----- AX = 1A80H
Despus de IMUL
DX: AX = FFF1H:EC00H (-922624D)
CF = OF = 1 (resultado entra en doble palabra)
MOV AX, -1
MOV DX, 2
IMUL DX
AX=0FFFFH
DX=0002H
Despus de IMUL
DX: AX=0FFFFFFFEH (-2D)
CF=OF=0 (resultado calza en una palabra)
Ejemplo de MUL
Aritmtica ASCII
AAM: Ajuste ASCII despus de
multiplicacin
MOV BL, 08
MOV AL, 09
MUL BL
AAM
OR AX, 3030H
DIVISION
Divisin de 8 bits
AL Q (AX/divisor)
AH R (AX/divisor)
Divisin de 16 bits
AX Q (DX: AX / divisor)
DX R (DX: AX / divisor)
Divisin de 32 bits
EAX Q (EDX: EAX /
divisor)
EDX R (EDX: EAX /
divisor)
Banderas no definidas
Para IDIV
Signo de dividendo=Signo del
residuo
Preparando el Dividendo
Aritmtica ASCII
AAD: Ajuste ASCII antes de
MOV BL, 9 ;
divisin
MOV AX, 0702H ;
AAD
;AX=0048H
DIV BL
;AX=0008H
;AH=00 residuo
;AL=08 cociente
OJO: AAD convierte un nmero BCD de dos
dgitos desempaquetados a binario para poder usar
la divisin binaria DIV.
Ejemplo: implementar
var4=(var1+var2) * var3
mov ax, var1
add ax, var2
mul var3
jc overflow
mov var4, ax
jmp lp1
overflow: ..
lp1: .
Ejemplo: implementar
var4=(var1 * 5) / (var2 3)
mov ax, var1
mov bx, 5
mul bx ; DX:AX =producto
mov bx, var2
sub bx, 3
div bx
mov var4, ax
Ejemplo: implementar
var4=(var1* -5) / (-var2/var3)
mov eax, var2
neg eax
cdq ; acondiciona dividendo edx:eax
idiv var3; edx=residuo, eax=cociente
mov ebx, eax
mov eax, -5
imul var1; edx:eax=lado izq.
idiv ebx ; edx=residuo, eax=cociente
mov var4, eax
Cul es el contenido de AX y
DX despus de la operacin
siguiente?
MOV
MOV
MOV
MUL
NOP
DX,0
AX, 222h
CX, 100h
CX
EAX, 123400H
EDX, 0
EBX, 10H
EBX
Ejemplo
Ejemplos