roelvh
Master Industriële Wetenschappen: Elektronica-ICT
hallo,
ik ben reeds enkele dagen aan het proberen een until loop te maken in asm om een bepaald aantal instructies een aantal keer op nieuw te laten uitvoeren (zo een 1000000 keer of meer)
Maar het wil me niet lukken een stuk deftige code te krijgen !
Kan iemand me aan een stukje code helpen ? (google leverde niets op)
dank op voorhand
De details hangen af van welke asm taal je precies gebruikt; assembler kan worden gebruikt op iedere microcontroller of microprocessor, maar de details zijn net iets anders.
Zelf doe ik voor PIC's het volgende: ik heb een aantal macro's gedefiniëerd waarmee je if/then/else constructies kunt maken in assembler. Die heb ik ook gebruikt in de Simpele A/D-converter voor PIC. Daar kun je de include file met die macro's dus vandaan halen.
Het implementeren van een until loop wordt dan simpel (nopjes vervangen door echte code
)
; Initialiseer alles wat nodig is voor de loop
nop
nop
until_loop
; Hier komt de body van de loop
nop
nop
asm_if_<until conditie geldig>
goto until_loop
asm_end_if
; Vanaf hier zijn we de loop uit
nop
A1 decfsz teller,f ( 256)
goto A1
decfsz teller1,f (256*256)
goto A1
decfsz teller2,f (256*256*256)
goto A1
Zoiets?
RES
RES
Bedoel je dat een teller totaan een miljoen moet tellen , en onder het tellen wat in de gaten moet houden?
Een miljoen teller dat kost 20 bits, dus minimaal 3 registers nodig om het tellen bij te houden.
The Headhunter had het al. 
[Bericht gewijzigd door RES op ]
Op 25 juni 2006 19:20:57 schreef RES:
Bedoel je dat een teller totaan een miljoen moet tellen , en onder het tellen wat in de gaten moet houden?
Een miljoen teller dat kost 20 bits, dus 3 register nodig.
Da's nog een heel gedoe met 8 bits registers. Dat worden tellers in teller in teller.....
(zoals de headhunter al aangaf)
roelvh
Master Industriële Wetenschappen: Elektronica-ICT
wow, snelle reacties, hou ik wel van
ik werk trouwens met de 16F628A, 8 bits dus
die code van frans77 ziet er wil iets gepast uit voor mijn toepassing