assebler(tasm) timer int 1a

Thanatos13

Grünschnabel
hallo,

vllt. kann mir ja hier jemand helfen.
ich arbeite zur zeit mit dem tasm an einem programm, in welchem ich zeiten messen muss. dazu lese ich über das entsprechende interrupt (1Ah) diesen timer zu 2 unterschiedlichen Zeiten aus und subtrahiere den zweiten vom ersten. dazwischen habe ich zur erzeugung einer gewissen differenz eine ein paar mov befehle eingebaut.
mein problem ist jetzt folgendes: im debug-modus klappt alles wunderbar wie ich es mir vorgestellt habe. beim ganz normalen ausführen jedoch kommt bei der differenz immer! 0 raus (egal wie viele mov befehler dazwischen liegen).
kennt jemand zufällig eine antwort/lösung für dieses problem?

hier mal bissel code:

Code:
....
          CALL getTimer
	  MOV [zeitDX1],DX	;speichert 1. timerwert
	  MOV AX,16h
	  MOV AX,18h
	  MOV AX,17h
	  MOV AX,18h
	  MOV AX,15h
	  CALL getTimer
	  SUB DX,[zeitDX1]

...

getTimer Proc Near
		MOV AH,00h			;Read System Clock Counter
	 	INT 1AH			;DX contais tick counter
		RET
EndP getTimer
 
Hi.

Was hast du denn für einen Prozessor? Selbst wenn du nur einen 500MHz Prozessor hast, und selbst wenn der mov Befehl 5 Taktzyklen in Anspruch nehmen würde (was er mit Sicherheit nicht tut) würden in einer Sekunde 100.000 mov Befehle ausgeführt werden können. Ich nehme nicht an, das du soviele mov-Befehle dazwischen geschrieben hast? Da mußt du dir schon etwas anderes ausdenken.

Gruß
 

Neue Beiträge

Zurück