Timer using assembly

liunx

Guest
hi . . .<br />This code is a procedure for a timer to be displayed on a game I'm programing using assembly<br /><br />but when I assemble it it gave Divide overflow<br /><br /><!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->; variables for timer<br /><br /><br />det_flag DB 5<br />   time_flag DB ?<br />   time DB 30H ,3ah, 30h, 30h<br />   time_print_c DB 67<br />   time_out DB "TIME OUT ",0<br />   ten DB 10<br />   ur_score DB 30h,30h,30h<br /><br /><br /><br />;define a procedure to read the time of that game.<br />mRead_time PROC NEAR<br /> PUSHA<br /> setCrusor 22,69<br /> MOV AH,2Ch<br /> INT 21h <br />     <br /> MOV AL,DH <br /> DIV ten    <br />    <br /> MOV CH,AH<br /> ADD CH,30h     <br />    <br /> CMP [time_flag],CH<br />  JE no_time_inc<br /><br /> inc_now: <br />  MOV [time_flag],CH<br />  CMP [time+3],39h  <br />   JE inc_sec<br />  INC [time+3]<br />  JMP print_time<br /> <br /> inc_sec:<br />  MOV [time+3],30h   <br />  CMP [time+2],35h               <br />   JE inc_min<br />  INC [time+2]   <br />  JMP print_time<br /> <br /> inc_min:<br />  MOV [time+2],30h<br />  INC [time]                    <br /> <br /> print_time:    <br />  MOV DL,[time+SI]   <br />  MOV AH,06h<br />  INT 21h<br />  INC SI<br />  CMP SI,4<br />   JE no_time_inc<br />  JMP print_time<br /> <br /> no_time:<br />  setCrusor 22,67    <br />  MOV DX, OFFSET time_out<br />  MOV CX,9 <br />  MOV BX,0   <br />  MOV AH,40h    <br />  INT 21h<br /> <br /> final_exit:<br />  MOV DL,0FFh<br />  MOV AH,06h<br />  INT 21h<br />  JZ final_exit      <br />  CMP AL,1bh<br />   JE final_exit0<br />  JMP final_exit<br /> <br /> final_exit0:    <br />  MOV AH,4Ch<br />  INT 21h<br /> no_time_inc:<br />  POPA<br /> <br /> RET<br />mRead_time ENDP<!--c2--></div><!--ec2--><br /><br /><br /><br />Please can any one help me why ?<br /><br />thank you<br /><br /><span class='edit'>This post has been edited by <b>born2c0de</b>: 27 Dec, 2007 - 11:36 PM</span>
</div>
 
Top