beautypg.com

Structured assembly inputs – Zilog Z8F0130 User Manual

Page 343

background image

UM013037-1212

Structured Assembly Inputs

Zilog Developer Studio II – Z8 Encore!

User Manual

319

For example, in the following looping structure:

.$while (r0 != #0)

ld r2,@r0

dec r0

.$wend

the assembler generates the following code:

00000D A6E000A 10.$while (r0 == #0)

000010 6B 06

000012 E320A 11ld r2,@r0

000014 30E0A 12dec r0

000016 8B F5A 13.$wend

000018A 14

The

.$REPEAT

directive generates code to test an execution-time condition after execut-

ing a block of statements and repeatedly executes the block until the condition is true.
Because the test is performed after executing the block, the block is executed at least once.

For example, in the following looping structure:

.$repeat

ld r1,@r0

dec r0

.$until (eq)

the assembler generates the following code:

000018 A6E000A 17.$repeat

000018 6B 06A 18ld r1,@r0

00001A E320A 19dec r0

00001C 30E0A 20.$until (eq)

00001E 8B F5A 21

Structured Assembly Inputs

The following sections describe the structured assembly input requirements:

IF Structured Assembly Block Inputs

– see page 319

REPEAT Structured Assembly Block Inputs

– see page 321

WHILE Structured Assembly Block Inputs

– see page 322

IF Structured Assembly Block Inputs

The

.$IF

,

.$ELSEIF

,

.$ELSE

, and

.$ENDIF

assembler directives are used to test execu-

tion-time conditions and conditionally execute object code based on the results of the test.