Entradas

Mostrando las entradas con la etiqueta Lengnuaje de interfaz

Macros-Programas en clase

Imagen
programa de Ricardo Castillo, vector programa de Marco Escobedo, resta programa de Emanuel, nombres programa de Jonatan Guzman, multiplicacion programa de Luis Gomez, pila programa de Carlos Guzman, suma programa de Edgar Mendez, buenos dias o buenas tardes programa de Sergio De la Fuente, numeros del 9 al 1 programa de Uriel Vega, numeros del 9 al 1 programa de Pedro Escoto, Emanuel y lulu, muestra nombres programa de Emanuel Dominguez, cambia los números programa de Abigail Cantu, suma de dos numeros programa de Alma Garcia, dice si eres mayor de edad o eres menor de edad

Mi ejemplo de macro

azul macro     mov ah,0     mov al,3h     int 10h     mov ax,0600h     mov bh,0fh     mov cx,0000h     mov dx,184Fh     int 10h     mov ah,02h     mov bh,00     mov dh,00     mov dl,00     int 10h     mov ah,06h     mov bh,1fh  ; esto es para el color de fondo y las letras     mov cx,0000h     mov dx,184fh     int 10h  

Posicionar un caracter en las coordenadas dadas por el usuario

gotoxy macro fila,col ;declaracion de macro gotoxy parametros:fila,col mov ah,02h   ;complemento interrupcion 10h modo video colocacion cursor mov dh,fila  ;coordenada x para colocacion de cursor dh mov dl,col   ;coordenada y para colocacion de cursor dl mov bh,0h  int 10h      ;interrupcion de video endm   ;fin de macro pantalla macro que  ;declaracion de macro pantalla parametro que mov ah,02h       ;complemento interrupcion 21h mov dl,que   ;que es el caracter capturado int 21h      ;interrupcion DOS endm  ;fin de macro imprime macro eztryng  ;declaracion de macro con parametro eztryng mov dx,offset eztryng  ;coloca mensajes en dx mov ah,9               ;complemento para la interrupcion 21h para impresion de txto int 21h                ;interrupcion DOS endm  ...

Diferencias entre procedimientos y macros

Las macros son mas rápidas porque se ejecutan en linea en un programa y los procedimientos son mas lentos a la hora de ejecutar el programa. Las macros pueden pasar y recibir parámetros. La escritura de una macro es simple en cambio la de los procedimientos es mas compleja. Los procedimientos ayudan a reducir el código y los macros lo hacen mas grande.

Ejemplo macros:

Imagen

Programa de multiplicación de números de 2 cifras

Imagen
;EMU8086 .model small ;Modelo de memoria .stack .data  ;Definicion de datos(variables), donde se almacenara informacion .code    ;Variables del primer numero ingresado    unidades_n1      db ?    decenas_n1       db ?      ;Variables del segundo numero ingresado    unidades_n2      db ?    decenas_n2       db ?      ;Variables temporales para los resultados de la primera multiplicacion    res_temp_dec_n1  db ?    res_temp_cen_n1  db ?      ;Variables temporales paara los resultados de la segunda multiplicacion    res_temp_dec_n2  db ?    res_temp_cen_n2  db ?      ;Variables para los resultados    res_unidades     db ?    res_decenas      db ?    res_centenas...

Mi Video tutorial

https://1drv.ms/v/s!Arga6O9YYzvRgQi8efwgS3CSJG5t

Ejemplo de armando en Emu8086 y Turbo Assambler

;emu org 100h .data     mensaje db "Programa que utiliza loop e imprime del 0 al 9",13,10,"$" .code  inicio:     mov ax,@data     mov ds, ax     mov dx,offset mensaje     mov ah,09h     int 21h MOV DL, "0";se transfiere la letra 0 al registro de datos en el byte bajo MOV CX, 10;se transfiere 10 al registro contador PRINT_LOOP:;va a imprimir hasta acabar las 26 interaciones MOV AH, 02;se transifiere 02 al acumulador de byte alto INT 21h; se realiza la interrupcion del dato ascii leido desde el teclado INC DL;siguiente caracter numerico LOOP PRINT_LOOP;continua hasta acabar las 10 vueltas ret ;Turbo .model small .stack 64 datos segment     mensaje db "Programa que utiliza loop e imprime del 0 al 9",13,10,"$" datos ends codigo segment   assume cs:codigo, ds:datos inicio:     mov ax,@data     mov ds, ax     mov dx,offset mensaje    ...

Programa propio de ciclos

Imagen
Código: ;Programa de ciclo    ;Luis Enrique Garcia Vazquez  org 100h .model small .stack 64      .data       mensaje db 0ah, 0dh, 'solo puede imprimir el mensaje de 1-3 veces$'     mensaje1 db 0ah, 0dh, 'imprime mensaje 1 vez$'     mensaje2 db 0ah, 0dh, 'imprime mensaje 2 veces$'     mensaje3 db 0ah, 0dh, 'imprime mensaje 3 veces$'      .code inicio:    lea dx,mensaje   ;imprimir mensaje  mov ah,9h  int 21h   mov ah,08              ;pausa y espera a que el usuario precione una tecla  int 21h                ;interrupcion para capturar  cmp al,49         je llamar1       cmp al,50          je llamar2    cmp al,51           je llamar3    jmp ...

Practica en clase 1-Marzo-2018

Imagen
  Ciclos Código: ;Programa de ciclo    ;Luis Enrique Garcia Vazquez org 100h .model small .stack 64      .data     mensaje db 0ah, 0dh, 'imprime mensaje 5 veces$' .code inicio: mov cx, 5 ciclo: mov ax, @data mov ds, ax mov dx, offset mensaje mov ah, 09h int 21h loop ciclo mov ah, 04ch int 21h end inicio Capturas:

Programa con menú de opciones

pila segment stack 'stack' db 100h dup (?) pila ends datos segment ;---------esta parte es el texto que se mostrara y las instrucciones para el usuario titulo db 13,10,' CAMBIAR FONDO DE PANTALLA',13,10,'$' mensaje1 db 'Presione ENTER si quiere la pantalla azul. ',13,10,'$' mensaje2 db 'Presione la tecla 2 si quiere morado',13,10,'$' mensaje3 db 'Presione la tecla 3 si quiere azul bajito',13,10,'$' datos ends codigo segment    ;segmento de codigo assume cs:codigo, ss:pila, ds:datos inicio: ;-------------------------------------------- para preparar pantalla mov ah,0  mov al,3h  ;modo texto  int 10h    ;interrupcion de video  mov ax,0600h  ;limpiar la pantalla  mov bh,0fh  ; pone el color de fonodo negro  mov cx,0000h  ; esto es para las esquinas  mov dx,184Fh  int 10h  mov ah,02h  mov bh,00  mov dh,00  mov dl,00  int 10h ;------------------------------------------------- mostrar mensajes ...

Programa que muestra 3 mensajes

Imagen
Codigo: datos segment     nombre db 'David', 13, 10, '$'     apellido db 'Maldoando', 13, 10, '$'     tel db 'Telefono: 123 456 78 90', 13, 10, '$'     control db 'No. de control: 007', 13, 10, '$' datos ends codigo segment     assume cs:codigo, ds:datos          inicio:         mov ah, 06h    mov bh, 6fh    mov cx, 0000h    mov dx, 184fh    int 10h        mov ax, datos    mov ds, ax        lea dx, nombre    mov ah, 9h    int 21h        lea dx, apellido    mov ah, 9h    int 21h        lea dx, tel    mov ah, 9h    int 21h        lea dx, control    mov ah, 9h    int 21h      ...