Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ORG &4000
- LD A,1 ;CARGAMOS EN EL ACUMULADOR EL DECIMAL "1"
- CALL &BC0E ;ESTABLECE EL MODO DE PANTALLA EN EL QUE ESTA EL ACUMULADOR (0,1,2)
- LD H,&00
- LD L,&00
- CALL &BB75 ;POSICIONA EL CURSOR EN (L,H)
- LD HL,TAMMENU
- CALL ESCRIBETEXTO
- CALL SCANF
- LD HL,TAMMENU2
- CALL ESCRIBETEXTO
- LD HL,&4100
- CALL ESCRIBETEXTO
- RET
- ;-----------------------------------------------------------------
- ;RUTINAS
- ;-----------------------------------------------------------------
- ESCRIBETEXTO ;RUTINA PARA ESCRIBIR TEXTOS
- ;REQUIERE UN .TAMALGO Y UN .TXTALGO
- ;INPUT:
- ;"LD HL,TAMALGO"
- LD B,(HL) ;GUARDAMOS EN "B" EL TAMANO DEL TEXTO
- INC HL ;INCREMENTAMOS "HL" PARA QUE PASE "A" APUNTAR EL PRIMER CARACTER DEL TEXTO
- .ESCRIBE
- LD A,(HL) ;CARGA EN "A" EL CARACTER AL QUE ESTAMOS APUNTANDO
- CALL &BB5A ;LLAMAMOS A LA RUTINA DE ESCRITURA
- INC HL ;APUNTAMOS AL SIGUIENTE CARACTER
- DJNZ ESCRIBE ;DECREMENTAMOS "B" Y SI NO HAY "ZERO" SALTAMOS A ".ESCRIBE"
- RET
- SCANF ;RUTINA QUE RECOJE TEXTO
- LD B,0 ;PONEMOS "B" A CERO
- LD HL,&4100 ;ASIGNAMOS A "C" DONDE EMPIEZA A ALMACENARSE
- .INICIO
- CALL &BB18 ;LLAMAMOS A LA RUTINA QUE RECOJE LA PULSACION DE UNA TECLA
- CP 13 ;COMPARA (RESTA) 13 CON EL ACUMULADOR
- RET Z ;SI SE HA PULSADO "RETURN" (Z=1), RETORNAMOS
- CP 32 ;COMPARA (RESTA) 65 CON EL NUMERO ALMACENADO EN EL ACUMULADOR
- JP C,INICIO ;SI HUBO "CARRY" (ASCII<65) PEDIMOS OTRA TECLA
- CP 123 ;COMPARA (RESTA) 123 CON "A"
- JP NC,INICIO ;SI NO HUBO CARRY (ASCII>=123) PEDIMOS OTRA TECLA
- CP 97 ;COMPARA (RESTA) 97 CON "A"
- JP NC,SIGUE ;SI NO HUBO CARRY (ASCII>=97) SALTAMOS A "SIGUE"
- CP 91 ;COMPARA (RESTA) 91 CON "A"
- JP NC,INICIO ;SI NO HUBO CARRY (ASCII>=91) PEDIMOS OTRA TECLA
- .SIGUE
- CALL &BB5A ;LLAMAMOS A LA RUTINA DE ESCRITURA
- INC HL ;INCREMENTAMOS "C" EN 1;
- LD (HL),A ;GUARDAMOS EN &4040 EL CONTENIDO DEL ACUMULADOR
- INC B ;INCREMENTAMOS "B" EN UNO
- LD A,B ;GUARDAMOS EN EL ACUMULADOR EL NÚMERO DE LETRAS QUE LLEVAMOS
- LD (&4100),A ;GUARDAMOS EN "&4440" EL CONTENIDO DEL ACUMULADOR
- CALL INICIO
- RET
- ;-----------------------------------------------------------------
- ;DATOS
- ;-----------------------------------------------------------------
- .TAMMENU
- DB 59
- .TXTMENU
- DB " Escribe una palabra. "
- DB "Pulsa enter para terminar la edicion:"
- .TAMMENU2
- DB 11
- .TXTMENU2
- DB " Has dicho:"
Advertisement
Add Comment
Please, Sign In to add comment