Efewfew
Páginas: 2 (397 palabras)
Publicado: 30 de enero de 2013
org 100h
mov al, 5 ; bin=00000101b
mov bl, 10 ; hex=0ah or bin=00001010b
; 5 + 10 = 15 (decimal) or hex=0fh or bin=00001111b
add bl, al
; 15 - 1 = 14 (decimal)or hex=0eh or bin=00001110b
sub bl, 1
; print result in binary:
mov cx, 8
print: mov ah, 2 ; print function.
mov dl, '0'
test bl, 10000000b ; test first bit.
jz zeromov dl, '1'
zero: int 21h
shl bl, 1
loop print
; print binary suffix:
mov dl, 'b'
int 21h
; wait for any key press:
mov ah, 0
int 16h
ret
Explicación de codigo:MOV:
Es una función de transferencia de información de un registro a otro registro, o entre un registro y la memoria (nunca entre memoria-memoria), y también con valores inmediatos teniendo comodestino memoria o un registro. Para ello, tendrá dos operandos; el primero es el de
destino, y el segundo el de origen. Así, por ejemplo:
MOV EAX, EBX
name de "add-sub" / Adición y Substracciónorg 100h / origen del valor de las etiquetas 100h
mov al, 5; bin = 00000101b/ Guarda 5 al registro AL(Parte Baja de AX (8bits))
mov bl, 10; hex = 0AH o bin = 00001010b/ Guarda 10 al registro BL(Parte Baja de BX (8bits))
, 5 + 10 = 15 (decimal) o hex = 0FH o bin = 00001111b / Adicción de ambos registros.
Add bl, al
, 15 - 1 = 14 (decimal) o hex = 0EH o bin = 00001110b/ Substracción deambos registros.
subbl, 1
, Resultado de la impresión en binario:
mov cx, 8 / Escribir texto por pantalla, CX(Contador (16 Bits))
impresión: mov ah, 2; / Función de impresión. AH(Parte Alta deAX(8bits))
mov dl, '0 ' / Manda un valor, DL(Parte Baja de DX (8 Bits))
test bl, 10000000b; / primera prueba. BL (Parte Baja de BX (8bits))
jz zero / Salta si estaprendido el Bit cero
mov dl, '1 ' /Manda un valor, DL (Parte Baja de DX (8bits)).
zero: int 21h / Llamar a DOS.
Shl bl, 1 / Mueve los Bits a la izquierda, BL (Parte Baja de BX...
Leer documento completo
Regístrate para leer el documento completo.