Sábado 21 de Diciembre de 2024, 16:54
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
ASM (Ensamblador)
(Moderador:
Eternal Idol
) »
Procesos Near
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Procesos Near (Leído 1604 veces)
Alljoinkhan
Nuevo Miembro
Mensajes: 5
Procesos Near
«
en:
Lunes 22 de Octubre de 2007, 05:59 »
0
Amigos, pasa que haciendo untrabajo en el que nos pedian hacer un menú en el salian las opciones para imprimir unos graficos a punta de caracteres, pasa que a la hora de juntar todo en un solo archivo resulta imposible correrlo pues a en un momento el monitor dej´o de funconar y luego se reinició solo, el programa lo compile y le di link y no me salieron errores pero no corre, resulta que cada elemento del menu lo hice en un
proceso near pero tambien me pasa lo mismo,
los saque del proc near para cada grafico y los meti en un solo proceso llamado MENUP pero me sale que los saltos JE estan fuera de rango, yo ya no se que hacer
les pido paciencia y porfvor diganme donde tengo el error en este codigo:
INCLUDE MACROS.TXT
.MODEL SMALL
.STACK
.DATA
TIP DB 'MENU DE OPCIONES$'
TIP1 DB '1.EJERCICIO N§ 1$'
TIP2 DB '2.EJERCICIO N§ 2$'
TIP3 DB '3.EJERCICIO N§ 3$'
TIP4 DB '4.EJERCICIO N§ 4$'
TIP5 DB '5.EJERCICIO N§ 5$'
TIP6 DB '6.EJERCICIO N§ 6$'
TIP7 DB '7.EJERCICIO N§ 7$'
TIP8 DB '8.EJERCICIO N§ 8$'
TIP9 DB '9.EJERCICIO N§ 9$'
TIP10 DB '10.EJERCICIO N§ 10$'
TIP11 DB 'E.SALIR$'
OPCION DB 'DIGITE SU OPCION$'
FILA DB 0
FILA2 DB 3
FILA3 DB 9
FILA4 DB 16
FILA5 DB 8
COLUMNA DB 0
COL DB 79
.CODE
PROGRAMA:
MOV AX,@DATA
MOV DS,AX
LIMPIAR
CALL MENUP
POS 23,0
SALIR:
MOV AH,4CH
INT 21H
;//////////////////////////////////////////////////////////////////
MENUP PROC NEAR
MENU:
LIMPIAR
POS 4,24
MOV AH,09H
MOV DX,OFFSET TIP
INT 21H
POS 6,24
MOV AH,09H
MOV DX,OFFSET TIP1
INT 21H
POS 7,24
MOV AH,09H
MOV DX,OFFSET TIP2
INT 21H
POS 8,24
MOV AH,09H
MOV DX,OFFSET TIP3
INT 21H
;POS 9,24
;MOV AH,09H
;MOV DX,OFFSET TIP4
;INT 21H
POS 10,24
MOV AH,09H
MOV DX,OFFSET TIP5
INT 21H
POS 11,24
MOV AH,09H
MOV DX,OFFSET TIP6
INT 21H
POS 12,24
MOV AH,09H
MOV DX,OFFSET TIP7
INT 21H
POS 13,24
MOV AH,09H
MOV DX,OFFSET TIP8
INT 21H
POS 14,24
MOV AH,09H
MOV DX,OFFSET TIP9
INT 21H
;POS 15,24
;MOV AH,09H
;MOV DX,OFFSET TIP10
;INT 21H
POS 16,24
MOV AH,09H
MOV DX,OFFSET TIP11
INT 21H
POS 18,24
MOV AH,09H
MOV DX,OFFSET OPCION
INT 21H
POS 18,48
MOV AH,00H
INT 16
CMP AL,'1'
JE EJERCICIO1
CMP AL,'2'
JE EJERCICIO2
CMP AL,'3'
JE EJERCICIO3
;CMP AL,'4'
;JE EJERICIO4
CMP AL,'5'
JE EJERCICIO5
CMP AL,'6'
JE EJERCICIO6
CMP AL,'7'
JE EJERCICIO7
CMP AL,'8'
JE EJERCICIO8
CMP AL,'9'
JE EJERCICIO9
;CMP AL,'A'
;JE EJERCICIO10
CMP AL,'E'
JE SALIR2
EJERCICIO1:
MOV FILA,0
MOV FILA2,3
MOV FILA3,9
LIMPIAR
PRIMERO:
POS FILA,COLUMNA
CARACTER 'X',15,1
POS FILA,COL
CARACTER 'X',15,1
ADD COLUMNA,07H
ADD FILA,02H
SUB COL,07H
CMP COLUMNA,80
JNE PRIMERO
MOV AH,01H
INT 21H
JMP MENU
EJERCICIO2:
MOV FILA,0
MOV FILA2,3
MOV FILA3,9
MOV FILA4,16
LIMPIAR
OJO:
CALL IMPRIMIR2
CMP FILA2,6
JNE OJO
RET
MOV AH,01H
INT 21H
JMP MENU
EJERCICIO3:
MOV FILA,0
MOV FILA2,3
MOV FILA3,9
MOV FILA4,16
LIMPIAR
FONDO:
POS FILA,0
CARACTER 'X',3,79
ADD FILA,1
CMP FILA,24
JNE FONDO
OJO1:
CALL IMPRIMIR2
CMP FILA2,6
JNE OJO1
MOV AH,01H
INT 21H
JMP MENU
;EJERCICIO4:
;CALL PROG4
;MOV AH,01H
;INT 21H
;JMP MENU
EJERCICIO5:
MOV FILA,3
MOV FILA2,8
MOV FILA3,13
MOV FILA4,16
MOV FILA5,8
LIMPIAR
POS 11,17 ;HORIZONTAL U
CARACTER '_',3,10
POS 7,37 ;HORIZONTAL P ARRIBA
CARACTER '_',3,10
POS 12,37 ;HORIZONTAL P ABAJO
CARACTER '_',3,10
POS 12,55 ;HORIZONTAL C ARRIBA
CARACTER '_',3,10
POS 21,55 ;HORIZONTAL C ABAJ
CARACTER '_',3,10
LAP:
POS FILA5,47
CARACTER 'I',3,1 ;VERTICAL PEQUE¾A DE P
ADD FILA5,1
CMP FILA5,13
JNE LAP
VERTICAL: ;LINEAS VERTICALES
CALL IMPRIMIRUPC
CMP FILA,12
JNE VERTICAL
MOV AH,01H
INT 21H
JMP MENU
EJERCICIO6:
MOV FILA,0
MOV FILA2,8
MOV FILA3,16
LIMPIAR
COLOR1:
POS FILA,0
MOV AH,09H
MOV AL,'X'
MOV BL,3
MOV CX,80
INT 10H
POS FILA2,0
MOV AH,09H
MOV AL,'X'
MOV BL,6
MOV CX,80
INT 10H
POS FILA3,0
MOV AH,09H
MOV AL,'X'
MOV BL,9
MOV CX,80
INT 10H
ADD FILA,1
ADD FILA2,1
ADD FILA3,1
CMP FILA,8
JNE COLOR1
MOV AH,01H
INT 21H
JMP MENU
EJERCICIO7:
MOV FILA,0
MOV FILA2,8
MOV FILA3,16
LIMPIAR
COLOR2:
POS FILA,0
MOV AH,09H
MOV AL,'&'
MOV BL,3
MOV CX,80
INT 10H
POS FILA2,0
MOV AH,09H
MOV AL,'@'
MOV BL,6
MOV CX,80
INT 10H
POS FILA3,0
MOV AH,09H
MOV AL,'#'
MOV BL,9
MOV CX,80
INT 10H
ADD FILA,1
ADD FILA2,1
ADD FILA3,1
CMP FILA,8
JNE COLOR2
MOV AH,01H
INT 21H
JMP MENU
EJERCICIO8:
MOV FILA,0
MOV FILA2,1
MOV FILA3,2
LIMPIAR
COLOR3:
POS FILA,0
MOV AH,09H
MOV AL,'&'
MOV BL,3
MOV CX,80
INT 10H
POS FILA2,0
MOV AH,09H
MOV AL,'@'
MOV BL,6
MOV CX,80
INT 10H
POS FILA3,0
MOV AH,09H
MOV AL,'#'
MOV BL,9
MOV CX,80
INT 10H
ADD FILA,3
ADD FILA2,3
ADD FILA3,3
CMP FILA,24
JNE COLOR3
MOV AH,01H
INT 21H
JMP MENU
EJERCICIO9:
MOV FILA,0
MOV FILA2,1
MOV FILA3,2
LIMPIAR
COLOR4:
CALL IMPRIMIR
CMP FILA,24
JNE COLOR4
POS 24,0
CARACTER '',15,1
MOV AH,01H
INT 21H
JMP MENU
;EJERCICIO10:
;CALL PROG10
;MOV AH,01H
;INT 21H
;JMP MENU
SALIR2:
POS 23,0
MOV AH,4CH
INT 21H
RET
MENUP ENDP
;/////////////////////////////////////////////////////////////////////////
;///////////////////////////////////////////////////////////////////////
;//////////////////////////////////////////////////
IMPRIMIR2 PROC NEAR
; OJO1
POS FILA2,16
;
CARACTER '0',10,15
; OJO 2
POS FILA2,50
;
CARACTER '0',10,15
; NARIZ
POS FILA3,32
;
CARACTER '0',11,15
;
POS FILA4,20 BOCA
;
CARACTER '0',13,41
;
ADD FILA3,1
ADD FILA2,1
ADD FILA4,1
RET
IMPRIMIR2 ENDP
;///////////////////////////////////////////
IMPRIMIRUPC PROC NEAR
POS FILA,17 ;LA U
CARACTER 'I',3,1
POS FILA,27 ;esta es la la otra barra de la u
CARACTER 'I',3,1
POS FILA2,37 ;LA P
CARACTER 'I',3,1
POS FILA3,55 ;esta es la c
CARACTER 'I',3,1
ADD FILA,1
ADD FILA2,1
ADD FILA3,1
RET
IMPRIMIRUPC ENDP
;//////////////////////////////////////////
IMPRIMIR PROC NEAR
POS FILA,0
CARACTER '&',3,80
POS FILA2,0
CARACTER '@',6,80
POS FILA3,0
CARACTER '#',9,80
ADD FILA,3
ADD FILA2,3
ADD FILA3,3
POS FILA,0
CARACTER '&',9,80
POS FILA2,0
CARACTER '@',3,80
POS FILA3,0
CARACTER '#',6,80
ADD FILA,3
ADD FILA2,3
ADD FILA3,3
POS FILA,0
CARACTER '&',6,80
POS FILA2,0
CARACTER '@',9,80
POS FILA3,0
CARACTER '#',3,80
ADD FILA,3
ADD FILA2,3
ADD FILA3,3
RET
IMPRIMIR ENDP
;/////////////////////////////////////////////////////////////////
END PROGRAMA
Tweet
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
ASM (Ensamblador)
(Moderador:
Eternal Idol
) »
Procesos Near