Please. i'm a student Anybody help me to solve that problem. counter 2 doesn't counts and i think it least some additional configuration procedure but i don't got it. it's urgent. i appreciate ur hels anyway
God Bless U Guys
DSEG SEGMENT 'DATA' BBUFFER DB 402 DUP ('@') ;BUFER PARA BORRADO FREC DB "FRECUENCIA: KHZ" LONGFREC EQU $-FREC ERROR DB "HA SOBREPASADO LA FRECUENCIA MINIMA" LONGERROR EQU $-ERROR DEC0 DB 1 DUP(0) DEC1 DB 1 DUP(0) DEC2 DB 1 DUP(0) DEC3 DB 1 DUP(0) AUXILIAR DB 1 DUP(0) ROW DW 1 DUP(0) COL DW 1 DUP(0) BINARIO DB 125 AUX DB 1 DUP(0) COLOR DB 0FFH LINEA DB 00H TIMED DW 25 TCOLOR DB 0FH BAND DB 0 BAND_A DB 0 ANTERIOR DW 1 DUP(0) MUESTRA DB 0 PUNTER DW 0 CONT_DESB DW 1 PACL DB 0 PAC DB 0 AJUS_NUM DW 0 DSEG ENDS SSEG SEGMENT STACK 'STACK' DB 256 DUP(0) SSEG ENDS ; CSEG SEGMENT 'CODE' INI PROC FAR ;*******CONSTANTES******* LMT_H EQU 417D LMT_V EQU 270D RESOL EQU 1D ;************************ MOV AX, DSEG MOV DS, AX MOV ES, AX ; MOV DX, 37AH ; IN AL,DX MOV AL,00110000B MOV DX, 37AH OUT DX,AL CONT2 EQU 42H P_CONF EQU 43H ; MOV 63H, 100010000B ; CONFIGURACI=D3N DEL PUERTO PROGRAMABLE MOV AL, 10110100B ; CONFIGURACI=D3N DEL TEMPORIZADOR ; SE CARGA EL VALOR BASE DE LA TEMPORIZACION ; RESULTADO DIVIDIR LA FREC DEL CLK ; DEL 8253 (1193180)ENTRE LA FRECUENCIA ; DE MUESTREO QUE SON 25KHZ ; MOV DX,43h OUT DX,AL ; SE PRECARGA EL CONTADOR NOP NOP MOV DX,42h MOV AL,0BH OUT DX,AL ; SE PRECARGA EL CONTADOR NOP NOP MOV AL,0E9H OUT DX,AL ; SE PRECARGA EL CONTADOR NOP NOP MOV ANTERIOR, 0E90BH INICIO: MOV AH,00H;***SET VIDEO MODE MOV AL,12H INT 10H GRAPHICS: ;// BORRAR PUNTOS VIEJOS ; CALL BORRAR ;//DIBUJAR REJILLA CALL REJILLA ;****************** MOV PUNTER,OFFSET BBUFFER MOV COL,0010H SAMP: MOV CX,TIMED TIEMPO: PUSH CX ; CALL DELAY CALL TECLADO POP CX LOOP TIEMPO
;;;;;;;;;;;;;;;;PUNTO: MOV CX,COL ; MOV BX,SI MOV SI,PUNTER MOV AL,[SI] MOV SI,BX MOV AH,255D SUB AH,AL MOV AL,AH AND AX,0FFH ADD AX,0010H MOV DX,AX MOV AH,0CH ;PETICION PARA ESCRIBIR UN PUNTO MOV BH,0 ;PAGINA NUMERO MOV AL,00H ;COLOR DEL PIXEL INT 10H; ; ; ; MOV DX,378h IN AL,DX MOV BINARIO,AL ;MOV AL,77H MOV BX,SI MOV SI,PUNTER MOV [SI],AL ;GUARDAR EL PUNTO PARA BORAR MOV SI,BX
;=2E.................................
MOV MUESTRA,AL CMP BAND_A,0 JNE NEGATIVO ;si el anterior es negativo CMP MUESTRA, 7FH ;si es positivo JNGE CRUCE ;si el actual es negativo MOV BAND,0 ;si es positivo JMP SEGUIR ; CRUCE: ; MOV PAC,"C" ; CALL PACO;;;;;;;;;;;;;;;;;;;PACO POLICE MAN MOV BAND,1 INC CONT_DESB JMP SEGUIR
NEGATIVO: CMP MUESTRA,7FH JNGE SEGUIR MOV BAND,0 JMP SEGUIR ; SEGUIR: ; MOV PAC,"S" ; CALL PACO;;;;;;;;;;;;;;;;;;;PACO POLICE MAN
MOV AL, BAND MOV BAND_A, AL; ;MOV DX,43H ; OR DX,11000000B MOV AL,11011000B MOV DX,43h OUT DX, AL NOP NOP MOV DX,42h IN AL,DX MOV AH,AL IN AL,DX PUSH AX CMP ANTERIOR, AX JNC DIBUJO ; DESBORD: ; MOV PAC,"D" ; CALL PACO;;;;;;;;;;;;;;;;;;;PACO POLICE MAN CMP CONT_DESB,0 JNE CONTADOR MOV CONT_DESB,1 MOV AH,13H MOV AL,0 MOV BH,00 MOV BL,12H MOV CX,LONGERROR MOV DH,28 MOV DL,0 PUSH DS POP ES MOV BP,OFFSET ERROR INT 10H ; CONTADOR: ; MOV AH,13H MOV AL,0 MOV BH,00 MOV BL,12H MOV CX,LONGFREC MOV DH,28 MOV DL,40 PUSH DS POP ES MOV BP,OFFSET FREC INT 10H MOV AX,CONT_DESB MOV AJUS_NUM,AX CALL AJUSTE MOV DH,28;LINEA MOV DL,52;POSICION CALL DECIM MOV CONT_DESB,1 ; DIBUJO: POP AX MOV ANTERIOR, AX ; MOV CX,COL MOV AL,BINARIO MOV AH,255D SUB AH,AL MOV AL,AH AND AX,0FFH ADD AX,0010H MOV DX,AX MOV AH,0CH ;PETICION PARA ESCRIBIR UN PUNTO MOV BH,0 ;PAGINA NUMERO MOV AL,0FH ;COLOR DEL PIXEL INT 10H; ;policia nro 1 ; ; ;*********************************************************** ; INC PUNTER INC COL CMP COL,LMT_H JNE SAMP JMP GRAPHICS MOV AH,00H MOV AL,02H INT 10H MOV AX, 4C00H ; EXIT TO OPERATING SYSTEM. INT 21H INI ENDP