370 likes | 581 Views
Lenguaje Ensamblador Unidad 2. Interrupciones de Bios y Dos Geovanny Virgen Luna No: 39. Bcd y mul reseña. bcd . digito decimal codificado en binario bcd empaqueta- 2 dígitos decimales por byte 00-99 bcd no empaquetado- 1 digito decimal por byte 0-9
E N D
Lenguaje Ensamblador Unidad 2 Interrupciones de Bios y Dos Geovanny Virgen Luna No: 39
Bcd y mul reseña • bcd. digito decimal codificado en binario • bcd empaqueta- 2 dígitos decimales por byte 00-99 • bcd no empaquetado- 1 digito decimal por byte 0-9 • mul- multiplicación para números sin signo • sintaxis: mul operando 1 el operando2 siempre deberá estar almacenado en al, ax, eax.
al ax • operando1 operando1 • ------------ ---------------- • resultado: • ah, al dx, ax • ejemplo • mov al,5 5 al * • mov bl,4 4 bl • mulbl ah, al = ax
cmp.- esta instruccion indica una comparacion entre 2 operandos, funciona como una resta • con la diferencia que no afecta el destino, unicamente las banderas • sintaxis: • cmp operando1, operando2
trabaja junto con los saltos para formar estructuras de control tal como el "if" • -------- • numero sin signo. • ja- salta si mayor • jb- salta si menor • jae- salta si mayor o igual • jbe- salta si menor o igual *todos seguidos de una etiqueta • je- salta si igual • jz- salta si cero • ---------- • salto incondicional • jmp
para imprimir ya sea carácter o cadenas con color es necesario definir lo que se conoce como • el byte del color donde el nible inferior es el color de la letra y el nible superior • es el color de fondo, a todo esto se le conoce como el byte del color. • Para ello es necesario definir la tabla del color. • ---Interrupción imprimir carácter con color • mov ah, 9 • mov al, carácter • movcx, veces • movbh, pagina • movbl, atributo • int 10h • ---Interrupción p/imprimir cadena con color • mov ah, 19 • movcx, longitud • movdh, renglón • mov dl, columna • lea bp, cadena • mov al, modo • movbl, atributo • int 10h
Pag1.asm Cambio de pagina
Scroll reseña • Ensamblador incluye 2 interrupciones • Scroll hacia arriba • mov ah, 6 • mov al, numero de lineas • mov ch, fila esquina superior izq • movcl, columna esquina supizp • movdh, fila esquina inferior derecha • mov dl, columna esquina inferior derecha • movbh, atributo de las nuevas lineas • int 10h • scrollhabia abajo • mov ah,7 • -------- • --------- • -------- mismos parametros • int 10h • hola ;se pierden • ---------- • --------- arriba una vez • inserta en blanco. • en blanco • -------- • ------ • ------- • adios ;1 vez
Scroll1.asm Scroll hacia arriba de una línea
Scroll3.asm Se mueve el mensaje por medio del scrollhacia arriba, cuando llega al tope de la pantalla se regresa hacia abajo comparando el valor de la coordenanda
Movs reseña • instrucciones de cadena • movs/movsb/movsw --- mover/copiar si- cadena fuente • cmps/cmpsb/cmpsw --- compara di- cadena destino • scas/scasb/scasw --- buscar • stos/stosb/stosw --- almacena • lods/lodsb/lodsw --- carga • ---------------------------------- • prefijos de repeticion • rep - repite cx veces • repe/repz/ repite mientras iguales • repne/repnz/ repite mientras diferentes • ---------------------------------- • 1 stddecrementa si/di df=1 • 0 cld incrementa si/di df=0
Tecla2.asm Movimiento con la tecla derecha