Entradas

Multiplicación con dos dígitos.

Imagen
.model small ;Modelo de memoria m?s utilizado .stack .data        ;definición de datos(variables), donde se almacenara información .code    chr1  db ? ;primer digito    chr2  db ? ;segundo digito    chr3  db ? ;multiplo    chr4  db ?    r1    db ? ;resultado 1    r2    db ? ;resultado 2    r3    db ?    r4    db ?    ac    db 0 ;acarreo    ac1   db 0 .startup    ;cls    mov ah,00h     ;Function(Set video mode)    mov al,03      ;Mode 80x25 8x8 16    int 10h        ;Interruption Video    mov ah,01h     ;Function(character read) Guarda en AL    int 21h        ;Interruption DOS functions    sub al,30h    ...

Instrucción CMP, JE, JNE, LOOP

Imagen
Instrucción  CMP, JE, JNE, LOOP En esta ocasión introducimos un programa que incluye saltos, ciclos, este programa permite comparar una dos palabras y si estas coinciden. Código: org 100h ;directiva include 'emu8086.inc' mov si, 0 ;ponemos si en 0(asigna),el registro 'si' para poder utilizar cmp comienzo: mov al, msg2[0] ;copiar la primera letra de la palabra A al, del cmp msg[si],"$" ;si es el fin de la cadena mandar a final,compara msg con msg2 je final ; brinca si es igual ;continuar cmp msg[si], al ;comparar si encuentra la primera letra de la cadena en msg2 jne seguir ;brinca si es diferente mov di, 1 ;poner en 1 = di comprobar: mov al, msg[di] ;compara en la [?] posicion (di, inc di)msg mov bx, di ; bx = di cmp msg2[si+bx], al ;posicion de la letra coincidente di(si+bx),comparar con(al) la cadena msg jne seguir ;si no coincide mandar a seguir inc...

Programa Video. S

Imagen
org 100h .stack 64 .data .code inicio: mov cx,10 ;cantidad de veces que repetira mov al,'>' ;caracter inicial Lee_car:     mov ah,0eh ;Funcion para imprimir caracter     int 10h   ;llama a la bios       mov ah,00 ;funcion de espera de un caracter del teclado     int 16h ;llama al bios     cmp al,'S' ;compara el caracter con 'S'     loope Lee_car  ;si es igual salta a otro       mov ah,0eh ;funcion para imprimir caracter     int 10h ;llamada al bios       ;colocar el fin de la linea para que baje una linea y lo imprima     mov ah,0eh ;funcion del bios para imprimir caracter     mov al,10     int 10h       ;colocar el retorno de carro para ir al inicio     mov al,13     int 10h ;hacer servicios de video     ;prepara la salida del programa     mov ax,4c00h ...

Practica mejorar el código LOOPZ Video

Imagen
org 100h  include 'emu8086.inc'    mov si, 0    ;ponemos si en 0          comienzo:  mov al, msg2[0]   ;copiar la primera letra de la palabra A al cmp msg2[si],"$"   ;si es el fin de la cadena mandar a final  je final      ; brinca si es igual cmp msg[si], al   ;comparar si encuentra la primera letra de la cadena  jne seguir    ;brica si es diferente mov di, 1         ;poner en 1 di   comprobar:  mov al, msg2[di]  mov bx, di  cmp msg[si+bx], al     ;posicion de la letra coincidente + di, comparar con la cadena  jne seguir             ;si no coincide mandar a seguir              inc di                 ;incrementar di para seguir recorriendo cadena  ...

12/marzo/19 Bucles/ LOOP

Imagen
 EJEMPLO BUCLE. EJEMPLO BUCLE 2. EJEMPLO BUCLE 3: EJEMPLO BUCLE 4: LAS BANDERAS AL TERMINAR LOS 9 LETREROS EJEMPLO BUCLE 5 EJEMPLO BUCLE 6

07/Marzo/19 Saltos condicionales

Imagen
http://jbwyatt.com/253/emu/asm_tutorial_07.html  Brincos condicionales. Saltar instrucciones para números firmados.   Instrucciones de salto para números sin firmar.   Bucle Ejemplo salto condicional. org 100h mov    ax, 5          ; set ax to 5.  mov    bx, 2          ; set bx to 2.  jmp    calc            ; go to 'calc'.  back:  jmp stop      ; go to 'stop'.  calc: add    ax, bx         ; add bx to ax.  jmp    back           ; go 'back'.  stop: ret                   ; return to operating system.  Salto incondicional (JMP): La instrucción básica que transfiere el control a otro punto del programa. La sintaxis básica es : JMP etiqueta JMP...