.z80 ; test strukta ; combinations ; version 1.4 options rlca rlca rlca rlca ;multiple commands on one line rlca rlca rlca rlca ;two methods ; do loops ;1 do b,5 LD b,5 .L1: nop ;1 enddo DEC B JP NZ,.L1 ;1 do hl,1000h-1 LD hl,1000h-1 .L2: nop ;1 enddo DEC HL LD A,H OR L JP NZ,.L2 ;1 do ix,50 LD ix,50 .L3: nop ;1 enddo DEC IX DEFB 0DDH LD A,H DEFB 0DDH OR L JP NZ,.L3 ;1 do iy,4041 LD iy,4041 .L4: nop ;1 enddo DEC IY DEFB 0FDH LD A,H DEFB 0FDH OR L JP NZ,.L4 ; while loop ;1 while a=0 .L5: OR A JP NZ,.L6 nop ;1 endwhile JP .L5 .L6: ;1 while (hl)=0 and b<5 .L7: LD A,(hl) OR A JP NZ,.L8 LD A,b CP 5 JP NC,.L8 nop ;1 endwhile JP .L7 .L8: ;1 while a<=6 .L9: CP 6 JR Z,.L11 JP NC,.L10 .L11: nop ;1 endwhile JP .L9 .L10: ;1 while a in ['a'..'z','0'..'9',';',']','['] .L12: CP 'z'+1 JR NC,.L15 CP 'a'+0 JP NC,.L14 .L15: CP '9'+1 JR NC,.L16 CP '0'+0 JP NC,.L14 .L16: CP ';' JP Z,.L14 CP ']' JP Z,.L14 CP '[' JP Z,.L14 JP .L13 .L14: nop ;1 endwhile JP .L12 .L13: ; repeat loop ;1 repeat .L17: nop ;1 until z JP NZ,.L17 ;1 repeat .L18: nop ;1 until h=0 or b=0 LD A,h OR A JP Z,.L19 LD A,b OR A JP NZ,.L18 .L19: ;1 repeat .L20: nop ;1 until not a in [1,100,'a',"a",7..89] and b<>0 CP 1 JP Z,.L20 CP 100 JP Z,.L20 CP 'a' JP Z,.L20 CP "a" JP Z,.L20 CP 89+1 JR NC,.L21 CP 7+0 JP NC,.L20 .L21: LD A,b OR A JP Z,.L20 ;1 repeat .L22: nop ;1 until not[c=0 or b