Hallo TB1,
ich würde die 4...6MHz mit einem TTL-Zähler / -Teiler um den Faktor 256...1024 runter teilen und dann auf den Timer-Eingang legen.
Dann einen Interrupt erzeugen, der in festen Abständen den Zähler ausliest und löscht. Je nachdem, was Du für eine Int-Zeit wählst, hast Du schon eine brauchbare Binärzahl.
Teiler und Meßzeit sind maßgeblich für die Genauigkeit und Auflösung.
Wie ein 1ms-Int in Assembler programmiert wird findest Du z.B. unter http://www.domnick-elektronik.de/picasm.htm