FRIHOST FORUMS SEARCH FAQ TOS BLOGS COMPETITIONS
You are invited to Log in or Register a free Frihost Account!

Problem description




My problem is that this program in accept an input and display in a segment matrix. What I want to happen is after pressing 'i' the number in the matrix segment will increment by 1 and after pressing 'd' it will decrement by 1. Please help me. Edit and modify this code in order to help me solve my problem. Thanks..

this is my source code:
Code:

TITLE GAYA
.MODEL MEDIUM
.STACK 50H

.DATA
   FIR DB 2 DUP (?)

   TTL DB " ", 10, 13
         DB "    $"      
 
   DIS DB 30 DUP (2), 10, 13
       DB 13 DUP(32), 30 DUP (2), 10, 13
       DB 13 DUP(32), 30 DUP (2), 10, 13
       DB 13 DUP(32), 30 DUP (2), 10, 13
       DB 13 DUP(32), 30 DUP (2), 10, 13
       DB 13 DUP(32), 30 DUP (2), 10, 13
       DB 13 DUP(32), 30 DUP (2), 10, 13, '$'

   PMT DB ""
   
   MSG DB "", 10, 13
       DB "   $"
   
.CODE
   MOV AX, @DATA
    MOV DS, AX

  START:

    ;CLEAR_SCREEN
   MOV AX, 3
   INT 10H

    ;TITLE_MESSAGE
   MOV AH, 9
   LEA DX, TTL
   INT 21H

    ;CREDIT_MESSAGE
     MOV AH, 02H
     MOV BH, 00H
     MOV DH, 16H
     MOV DL, 00H
     INT 10H

   MOV AH, 9
   LEA DX, MSG
   INT 21H

    ;BLACK_TEXT
   MOV AX, 0607H
   MOV BX, 0000H
   MOV CX, 0541H
   MOV DX, 000DH
   INT 10H

    ;MATRIX_DISPLAY
     MOV AH, 02H
     MOV BH, 00H
     MOV DH, 05H
     MOV DL, 0DH
     INT 10H

   MOV AH, 9
   LEA DX, DIS
   INT 21H


    FIR_INDEX0:
     MOV AH, 02H
     MOV BH, 00H
     MOV DH, 05H
     MOV DL, 0dH
     INT 10H

   MOV AH, 7
   INT 21H
   
     CMP AL, 31H
     JB FIR_INDEX0

     CMP AL, 39H
     JA FIR_INDEX0

     MOV FIR[0], AL
   SUB FIR[0], 30H
   MOV BL,AL

    SEG_1_1:
    CMP FIR[0], 1 
    JE SEG_1_2

    CMP FIR[0], 4
    JE SEG_1_2
 
   MOV AX, 0601H ;top
   MOV BX, 0C00H
   MOV CX, 0511H
   MOV DX, 000DH
   INT 10H


    SEG_1_2:
    CMP FIR[0], 1
    JE SEG_1_3

    CMP FIR[0], 7
    JE SEG_1_3
 
   MOV AX, 0601H
   MOV BX, 0C00H
   MOV CX, 0811H;mid
   MOV DX, 000DH
   INT 10H


    SEG_1_3:
    CMP FIR[0], 1
    JE SEG_1_4

    CMP FIR[0], 4
    JE SEG_1_4

    CMP FIR[0], 7
    JE SEG_1_4

   MOV AX, 0601H
   MOV BX, 0C00H;bottom
   MOV CX, 0B11H
   MOV DX, 000DH
   INT 10H
 

    SEG_1_4:
    CMP FIR[0], 1
    JE SEG_1_5

    CMP FIR[0], 2
    JE SEG_1_5

    CMP FIR[0], 3
    JE SEG_1_5

    CMP FIR[0], 7
    JE SEG_1_5

   MOV AX, 0604H
   MOV BX, 0C00H
   MOV CX, 050aH;ul
   MOV DX, 000DH
   INT 10H


    SEG_1_5:
   CMP FIR[0], 5
    JE SEG_1_6

    CMP FIR[0], 6
    JE SEG_1_6

   MOV AX, 0604H
   MOV BX, 0C00H
   MOV CX, 0511H;ur
   MOV DX, 0011H
   INT 10H


    SEG_1_6:
    CMP FIR[0], 1
    JE SEG_1_7

    CMP FIR[0], 3
    JE SEG_1_7

    CMP FIR[0], 4
    JE SEG_1_7

    CMP FIR[0], 5
   JE SEG_1_7

   CMP FIR[0], 7
    JE SEG_1_7

   CMP FIR[0], 9
    JE SEG_1_7

   MOV AX, 0604H
   MOV BX, 0C00H
   MOV CX, 080DH;ll
   MOV DX, 000DH
   INT 10H


    SEG_1_7:
    CMP FIR[0], 2
    JE     FIR_DISPLAY_1

   MOV AX, 0604H
   MOV BX, 0C00H
   MOV CX, 0811H;lr
   MOV DX, 0011H
   INT 10H


    FIR_DISPLAY_1:
     MOV AH, 02H
     MOV BH, 00H
     MOV DH, 05H
     MOV DL, 0DH
     INT 10H

   MOV AH, 9
   LEA DX, DIS
   INT 21H


    FIR_INDEX1:
     MOV AH, 02H
     MOV BH, 00H
     MOV DH, 05H
     MOV DL, 13H
     INT 10H

   MOV AH, 7
   INT 21H
   
   CMP AL, 13
   JNE FIR_SKIP
   
   MOV BL, FIR[0]
     MOV FIR[1], BL
     MOV FIR[0], 0

     ;JMP SEC_INDEX0


    FIR_SKIP:
     CMP AL, 30H
     JB FIR_INDEX1

     CMP AL, 39H
     JA FIR_INDEX1

     MOV FIR[1], AL
   SUB FIR[1], 30H
   
   
   
   mov FIR[0],30h
   
back:   
   MOV AH,7
   INT 21H
   
   cmp al,27
   je exit

   cmp al,'i'
    je increment

   cmp al,'d'
   je decrement
   
   

   
increment:   
   inc FIR[0]
   MOV BX,AX
   JMP START

decrement:
   dec FIR[0]
   MOV BX,AX
   JMP START


   loop back

EXIT:   
MOV AH,4CH
INT 21H

END
 

I hope you can help me solve this problem... thanks guys.




1 blog comments below

Now is this for yourself or school work?
standready on Mon Mar 12, 2012 10:37 pm



FRIHOST HOME | FAQ | TOS | ABOUT US | CONTACT US | SITE MAP
© 2005-2011 Frihost, forums powered by phpBB.