Libro

Páginas: 8 (1861 palabras) Publicado: 5 de abril de 2014
SPila Segment para Stack 'Stack'

db 64 Dup ('SegStack ')

SPila EndS

SDato Segment para public'Data'
Message db 'Hola Mundo',10,13,'$'
Textcolor db 01h
Fila db 0h
Columna db 0h
LineCommand db 0FFh Dup (?)
Param1 db 0FFh Dup (?)
Param2 db 0FFh Dup (?)
Param3 db 0FFh Dup (?)Param4 db 0FFh Dup (?)
Param5 db 0FFh Dup (?)
Param6 db 0FFh Dup (?)
Param7 db 0FFh Dup (?)
SDato EndS

;-------------------------------;
; DefiniciÛn de Macros ;
;(afuera del segmento de cÛdigo);
;-------------------------------;

ListPush Macro lista
IRP i,
Push i
EndM
EndMListPop Macro lista
IRP i,
Pop i
EndM
EndM

PushA Macro
ListPush
EndM ;Su contra parte es la macro siguiente.

PopA Macro
;...la pila del programa.
Pop Sp ;poner equilibrar la pila...
Pop Bp ;...solamente despuÈs de haber...Pop Di ;...llamado antes a pushallregs.
Pop Si ;Sino se produce un error en el programa.
Pop Dx
Pop Cx
Pop Bx
Pop Ax
EndM

SCodigo Segment para public 'Code' ;Define el segmento de cÛdigo para tasm.
Assume CS:SCodigo, SS:SPila, DS:SDato ;AsignaciÛn de los segmentos a los registro desegmentos del CPU.

;---------------------------------------;
; DefiniciÛn de Procedimientos ;
; (dentro del segmento de cÛdigo) ;
; (pero afuera de la lÌnea de ejecuciÛn ;
; pero debe estar asumido el segmento ;
; de cÛdigo para los procedimientos ;
; pues son de tipo near. ;
;---------------------------------------;;------------------------------------------------------;
; Par·metros de entrada ;
;------------------------------------------------------;
; Al,N˙mero de lÌneas por desplazar. ;
; Bh,Atributo. Pero este atributo se le pasa ;
; como par·metro mediante una variable gobal ;
; llamada TextColor.
; Ch,Fila de la esquina superiorizquierda. ;
; Cl,Columna de la esquina superior izquierda. ;
; Dh,Fila de la esquina inferior derecha. ;
; Dl,Columna de la esquina inferior derecha. ;
;------------------------------------------------------;
; Par·metros de salida ;
;------------------------------------------------------;
;;
; Ninguno ;
; ;
;------------------------------------------------------;
ClearScreen Proc Far
PushA
Mov Ah,07 ;Prepara servicio 07 para la Pop 10h. (desplazamiento de ventana hacia abajo).
Mov Al,25 ;N˙mero de lÌneas por desplazar en este caso total de filas 25.
MovBh,OffSet Ds:TextColor ;A modo de ejemplo para ver el efecto de no ponerle que transfiera un byte...
Mov Bh,Byte Ptr OffSet Ds:TextColor ;Atributo con que se va a desplazar; es decir; color. 00 = negro.
Mov Ch,00 ;En donde comienza: fila de la esquina superior izquierda.
Mov Cl,00 ;En donde comienza: columna de laesquina superior izquierda.
Mov Dh,25 ;En donde termina: fila de la esquina inferior derecha.
Mov Dl,80 ;En donde termina: columna de la esquina inferior derecha.
Int 10h ;ejecute la Pop 10h/ servicio 07h, desplaze la ventana hacia abajo.
PopA
RetF ;Se debe retornar o el programa se queda...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Libro libro
  • Libros
  • Libro
  • Libros
  • Libros
  • Libros
  • Libros
  • Libros

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS