• Domingo 22 de Diciembre de 2024, 14:24

Autor Tema:  Ensamblador X86  (Leído 3499 veces)

jhonathan2006

  • Miembro activo
  • **
  • Mensajes: 28
    • Ver Perfil
Ensamblador X86
« en: Martes 31 de Octubre de 2006, 15:07 »
0
quien me pudiera ayudar  con los codigos para realizar la simulacion de una marquesina de izquierda a derecha de un titulo (predeterminado en el; sistema) y una validacion de 2 claves (predeterminada ya en el sistema)

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Ensamblador X86
« Respuesta #1 en: Martes 31 de Octubre de 2006, 15:10 »
0
Cita de: "jhonathan2006"
quien me pudiera ayudar  con los codigos para realizar la simulacion de una marquesina de izquierda a derecha de un titulo (predeterminado en el; sistema) y una validacion de 2 claves (predeterminada ya en el sistema)
¿Tenes alguna duda en particular? Te aclaro que aca no se le hace la tarea a nadie, si tenes problemas te podemos ayudar, si queres que hagamos tu trabajo no.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

jhonathan2006

  • Miembro activo
  • **
  • Mensajes: 28
    • Ver Perfil
Re: Ensamblador X86
« Respuesta #2 en: Martes 31 de Octubre de 2006, 15:16 »
0
Quiero colocarle una marquesina a una presentacion pero lo unico que pude hacer es que me aparecieran letra por letra y los tiempos varian mucho segun los equipos. (No se casi nada de ese lenguaje)

Este es el codigo por si puedes revizar (En tal caso de que no se pueda. bueno megustaria saber si se puede optimizar mas)

   .MODEL SMALL
   .STACK 256
   .DATA
V1 DW 0000H
V2 DW 0000H
V3 DW 0000H
V4 DW 0000H
V5 DW 0000H
V6 DW 0000H
V7 DW 0000H
V8 DW 0000H
V9 DW 0000H
V10 DW 0000H
V11 DW 0000H
V12 DW 0000H
V13 DW 0000H
V14 DW 0000H
FILA DB 000000
COLU DB 000000
COUNT1 DB 1
COUNT2 DB 1
COUNT3 DB 1
COUNT4 DB 1
COUNT5 DB 1
COUNT6 DB 1
COUNT7 DB 1
   .CODE
  MOV AX,@DATA
  MOV DS,AX
  MOV ES,AX
  ;
  CALL LIMPIAR
  MOV FILA, 12
  MOV COLU,36
Y1:CALL CURSOR
   CALL VERM
   CALL RETARDO
   INC COLU
   DEC COUNT1
   JNZ Y1
  ;.EXIT
MOV FILA,12
MOV COLU,37
Y2:CALL CURSOR
   CALL VERM1
   CALL RETARDO1
   INC COLU
   DEC COUNT2
   JNZ Y2
MOV FILA,12
MOV COLU,38
Y3:CALL CURSOR
   CALL VERM2
   CALL RETARDO2
   INC COLU
   DEC COUNT3
   JNZ Y3
MOV FILA,12
MOV COLU,39
Y4:CALL CURSOR
   CALL VERM3
   CALL RETARDO3
   INC COLU
   DEC COUNT4
   JNZ Y4
MOV FILA,12
MOV COLU,40
Y5:CALL CURSOR
   CALL VERM4
   CALL RETARDO4
   INC COLU
   DEC COUNT5
   JNZ Y5
MOV FILA,12
MOV COLU,41
Y6:CALL CURSOR
   CALL VERM5
   CALL RETARDO5
   INC COLU
   DEC COUNT6
   JNZ Y6
MOV FILA,12
MOV COLU,42
Y7:CALL CURSOR
   CALL VERM6
   CALL RETARDO6
   INC COLU
   DEC COUNT7
   JNZ Y7

   .EXIT

CURSOR: MOV AH,02H
        MOV BH,0
        MOV DH,FILA
        MOV DL,COLU
        INT 10H
        RET
        ;
LIMPIAR: MOV AX,0600H
         MOV BH,1
         MOV CX,000H
         MOV DX,184H
         INT 10H
         RET
         ;
VERM: MOV AH,09H
        MOV AL,"B"
        MOV BX,0
        MOV BL,7H
        MOV CX,1
        INT 10H
        RET
        ;
VERM1: MOV AH,09H
        MOV AL,"A"
        MOV BX,0
        MOV BL,7H
        MOV CX,1
        INT 10H
        RET
        ;
VERM2: MOV AH,09H
        MOV AL,"N"
        MOV BX,0
        MOV BL,7H
        MOV CX,1
        INT 10H
        RET
        ;
VERM3: MOV AH,09H
        MOV AL,"E"
        MOV BX,0
        MOV BL,7H
        MOV CX,1
        INT 10H
        RET
        ;
VERM4: MOV AH,09H
        MOV AL,"S"
        MOV BX,0
        MOV BL,7H
        MOV CX,1
        INT 10H
        RET
        ;
VERM5: MOV AH,09H
        MOV AL,"C"
        MOV BX,0
        MOV BL,7H
        MOV CX,1
        INT 10H
        RET
        ;
VERM6: MOV AH,09H
        MOV AL,"O"
        MOV BX,0
        MOV BL,7H
        MOV CX,1
        INT 10H
        RET
        ;

RETARDO: MOV V2,10000
        X2:MOV V1,10000
        X1:DEC V1
           JNZ X1
           DEC V2
           JNZ X2
           RET
           ;
RETARDO1: MOV V4,9500
        X3:MOV V3,9500
        X4:DEC V3
           JNZ X4
           DEC V4
           JNZ X3
           RET
           ;
RETARDO2: MOV V6,9000
        X5:MOV V5,9000
        X6:DEC V5
           JNZ X6
           DEC V6
           JNZ X5
           RET
           ;
RETARDO3: MOV V8,8999
        X7:MOV V7,8999
        X8:DEC V7
           JNZ X8
           DEC V8
           JNZ X7
           RET
           ;
RETARDO4: MOV V10,8998
        X9:MOV V9,8998
        X10:DEC V9
           JNZ X10
           DEC V10
           JNZ X9
           RET
           ;
RETARDO5: MOV V12,8997
        X11:MOV V11,8997
        X12:DEC V11
           JNZ X12
           DEC V12
           JNZ X11
           RET
           ;
RETARDO6: MOV V14,8996
        X13:MOV V13,8996
        X14:DEC V13
           JNZ X14
           DEC V14
           JNZ X13
           RET
           ;
      END

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Ensamblador X86
« Respuesta #3 en: Martes 31 de Octubre de 2006, 16:30 »
0
Con esto podes acceder directamente a la pantalla:

Código: Text
  1.  
  2. mov ax, 0b800h
  3. mov es, ax
  4. xor di, di
  5. mov word ptr es:[di], 3041h
  6.  
  7.  

Despues de escribir la palabra la podes mover a izq. o derecha simplemente cambiando los valores adyacentes ...

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.