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: