		.program    harj2
		.section harj2,code,locate=h'ffa200 
		

start:    mov.l   #pali4, ER5   ;osoitin, joka paatyy osoittamaan lopusta alkuun
          mov.l   #pali4, ER6   ;osoitin, jolla selataan alusta loppuun
         
loppuun:  mov.b   @ER5, R3L      ;haetaan lauseesta merkki
          beq     etsika1        ;ollaan lopussa
          inc.l   #1, ER5        ;siirretaan osoitinta
          bra     loppuun        ;ihmetellaan seuraavaa

etsika:   inc.l   #1, ER6
          cmp.l   ER6, ER5
          blo     onpali
etsika1:  mov.b   @ER6, R3H      ;haetaan eka merkki
          cmp.b   #125, R3H      
          bhi     etsika
          cmp.b   #65, R3H
          blo     etsika
          cmp.b   #93, R3H
          bhi     valia
          bra     etsikl

valia:    cmp.b   #97, R3H
          blo     etsika
          bra     etsikl

etsikl:   dec.l   #1, ER5        ;siirretaan ER5ta yhdella taakse, ettei osoiteta loppuun/edelliseen
          cmp.l   ER5, ER6
          bhi     onpali
          mov.b   @ER5, R3L      ;haetaan viimeinen merkki lopusta
          cmp.b   #125, R3L      
          bhi     etsikl
          cmp.b   #65, R3L
          blo     etsikl
          cmp.b   #93, R3L
          bhi     valil
          bra     vertaa
          
valil:    cmp.b   #97, R3L
          blo     etsikl
          bra     vertaa
          
vertaa:   cmp.b   R3L, R3H
          beq     etsika
          add.b   #32, R3L
          cmp.b   R3L, R3H
          beq     etsika
          add.b   #64, R3H
          cmp.b   R3L, R3H
          beq     etsika
          bra     eipali

eipali:   bra     eipali
onpali:   bra     onpali

         
teksti:   .SDATA.B    "Saippuakauppias."<0>
pali1:    .SDATA.B    "Aira laahasi kisahaalaria."<0>
pali2:    .SDATA.B    "No, Esa ja Vesa, asevaja se on."<0>
pali3:    .SDATA.B    "Atso-ukki, takkatikku osta!"<0>
pali4:    .SDATA.B    "ennooopalinromi----perkeus"<0>

		.end