A83: Re:
[Prev][Next][Index][Thread]
A83: Re:
nop stands for no operation.
Heres how djnz works:
ld b,$xx ; b is the countdown timer
Loop:
*instructions*
djnz loop ; the same as dec b / jp nz,loop
It basicaly runs your loop as many times as B is and can be used as a
delay or something for repeadting a function.
-----------------------------------------------------------------------------------------------------------------------
Mastermind--benjamin99@juno.com, www.bigfoot.com/~mastermind5
IRC: Master_M
ICQ: 11341114
-Its all about the Benjamins
On Thu, 9 Jul 1998 23:35:19 EDT Jkhum98@aol.com writes:
>
> Hey I'm new to this stuff also, but i noticed that your delay
>loop was a hell
>of a lot shorter than Alan's... it probably helped him a whole lot,
>but can
>you explain to me what "nop" does and why you had to load "b" just
>before
>that, and also what the "djnz" does, just give it all to me... im
>learning
>little by little, but hey.
>
>
>Jason Kovacs
><jkhum98@aol.com>
>
>
>
>>hahaha :) that is a great delay routine... here, try this. There is
>also
>
>>one in bounce.asm in the pub/83/asm/source directory of ticalc.org.
>
>>
>
>> ld b,20
>
>>Loop:
>
>> nop
>
>> djnz Loop
>
>>
>
>>you could also increase the 20.. and you could replace nop with halt.
>
>>
>
>
>> -Ahmed
>
>>
>
>>-----Original Message-----
>
>>From: Alan C Johnson <benjamin99@juno.com>
>
>>To: assembly-83@lists.ticalc.org <assembly-83@lists.ticalc.org>
>
>>Date: Thursday, July 09, 1998 9:25 PM
>
>>
>
>>
>
>>>
>
>>>I'm updating my first ASM progie and I need a little help so I have
>a few
>
>>>questions
>
>>>
>
>>> 1. I need an almost 1/2 second delay that doesn't take up much
>
>>>space. See my current pathetically inefficient current
>
>>>delay below. It takes up most of the program.
>
>>> 2. How do you get string input? (It can be done e.i. Password)
>
>>> 3. How do you store string input anywhere accept a user
>
>>variavble? (It can be done, also; same example)
>
>>> 4. How do you get pixel legnth for a variable legnth string? (I
>
>>>don't know if it can be done without too much memory
>
>>>usage)
>
>>>
>
>>>
>
>>>
>
>>>My LOOOOOOOOONNNNGGGG delay loop
>
>>>
>
>>>KeyDelay: ; This is very inneficient but
>
>>> call ReadEnter ; it was the only way to get
>
>>> cp kEnter ; it to a good speed
>
>>> jp z,exit ;
>
>>> nop ; This accounts for a lot of
>
>>> push hl ; space this prog takes up
>
>>> pop hl
>
>>> push hl
>
>>> pop hl
>
>>> push hl
>
>>>pop hl
>
>>> push hl
>
>>> pop hl
>
>>> push hl
>
>>>pop hl
>
>>> push hl
>
>>> pop hl
>
>>> push hl
>
>>> pop hl
>
>>> djnz KeyDelay
>
>>> ld b,250
>
>>>KeyDelay2:
>
>>> call ReadEnter
>
>>> cp kEnter
>
>>> jp z,exit
>
>>> nop
>
>>> push hl
>
>>> push hl
>
>>> pop hl
>
>>> push hl
>
>>> pop hl
>
>>> pop hl
>
>>> push hl
>
>>> pop hl
>
>>> push hl
>
>>> pop hl
>
>>> push hl
>
>>> pop hl
>
>>> push hl
>
>>> pop hl
>
>>> djnz KeyDelay2
>
>>> ld b,250
>
>>>KeyDelay3:
>
>>> call ReadEnter
>
>>> cp kEnter
>
>>> jp z,exit
>
>>> nop
>
>>> push hl
>
>>> pop hl
>
>>> push hl
>
>>> pop hl
>
>>> push hl
>
>>>pop hl
>
>>> push hl
>
>>> pop hl
>
>>> push hl
>
>>> pop hl
>
>>> push hl
>
>>> pop hl
>
>>> push hl
>
>>> pop hl
>
>>> djnz KeyDelay3
>
>>> ld b,250
>
>>>KeyDelay4:
>
>>> call ReadEnter
>
>>> cp kEnter
>
>>> jp z,exit
>
>>> nop
>
>>> push hl
>
>>> pop hl
>
>>> push hl
>
>>> pop hl
>
>>> push hl
>
>>> pop hl
>
>>> push hl
>
>>> pop hl
>
>>> push hl
>
>>> pop hl
>
>>> push hl
>
>>> pop hl
>
>>> push hl
>
>>> pop hl
>
>>>djnz KeyDelay4
>
>>> ld b,250
>
>>> KeyDelay5:
>
>>> call ReadEnter
>
>>> cp kEnter
>
>>> jp z,exit
>
>>> nop
>
>>> push hl
>
>>> pop hl
>
>>> push hl
>
>>> pop hl
>
>>> push hl
>
>>> pop hl
>
>>> push hl
>
>>> pop hl
>
>>> push hl
>
>>> pop hl
>
>>> push hl
>
>>> pop hl
>
>>> push hl
>
>>> pop hl
>
>>> push hl
>
>>> pop hl
>
>>> djnz KeyDelay5
>
>>> ld b,250
>
>>>KeyDelay6:
>
>>> call ReadEnter
>
>>> cp kEnter
>
>>> jp z,exit
>
>>> nop
>
>>> push hl
>
>>> pop hl
>
>>>push hl
>
>>> pop hl
>
>>> push hl
>
>>> pop hl
>
>>> push hl
>
>>> push hl
>
>>> pop hl
>
>>> push hl
>
>>> pop hl
>
>>> pop hl
>
>>> push hl
>
>>> pop hl
>
>>> push hl
>
>>> pop hl
>
>>> djnz KeyDelay6
>
>>>jp Loopstart
>
>>>
>
>>>
>
>>>------------------------------------------------------------------------
>
>>>Mastermind--benjamin99@juno.com, www.bigfoot.com/~mastermind5
>
>>>IRC: Master_M
>
>>>ICQ: 11341114
>
>>>-Its all about the Benjamins
>
>>>
>
>>>___________________________________________________________
>
>>>You don't need to buy Internet access to use free Internet e-mail.
>
>>>Get completely free e-mail from Juno at http://www.juno.com
>
>>>Or call Juno at (800) 654-JUNO [654-5866]
>
>>>
>
>
_____________________________________________________________________
You don't need to buy Internet access to use free Internet e-mail.
Get completely free e-mail from Juno at http://www.juno.com
Or call Juno at (800) 654-JUNO [654-5866]
References: