• Domingo 16 de Mayo de 2021, 02:20

Autor Tema:  Procesos Near  (Leído 1132 veces)

Alljoinkhan

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
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