1. naloga
        .text
tab8:  .space 8
        .align
        .global __start
__start:


        mov  r0,#0b01011011
        adr  r1,tab8
        bl    paser
       
__end:    b __end 

paser:  mov r2,#0b10000000
        mov r3,#0
        mov r4,#1
       
zanka:  tst r0,r2            @ preveri bit
        streqb r3,[r1],#1    @ vpisi 0
        strneb r4,[r1],#1    @ vpisi 1
        movs  r2,r2,lsr #1  @ pomik maske
        bne    zanka
       
        mov pc,lr            @ vrni


2. naloga

          .text

s1:      .word 0x78563412
     
          .align
          .global __start
__start:
          ldr r13,=0x1000

          adr r1, s1
          bl ldbigend
       
__end:    b __end

ldbigend:    stmfd r13!, {r1-r2, r14}

          ldrb r0, [r1, #3]
          ldrb r2, [r1, #2]
          add r0, r2, lsl #8
          ldrb r2, [r1, #1]
          add r0, r2, lsl #16
          ldrb r2, [r1, #0]
          add r0, r2, lsl #24
               
          ldmfd r13!, {r1-r2, pc}


3. naloga

          .text

s1:      .space 4
     
          .align
          .global __start
__start:
          ldr r13,=0x1000

          ldr r0, =0x12345678
          adr r1, s1
          bl stbigend
       
__end:    b __end

stbigend:    stmfd r13!, {r0, r14}

          strb r0, [r1, #3]
          mov r0, r0, lsr #8
          strb r0, [r1, #2]
          mov r0, r0, lsr #8
          strb r0, [r1, #1]
          mov r0, r0, lsr #8
          strb r0, [r1, #0]
     
          ldmfd r13!, {r0, pc}


4. naloga

          .text

tab8:    .byte 15,120,112, 34, 55, 23, 3, 6
     
          .align
          .global __start
__start:
          ldr r13,=0x1000

          adr r0, tab8
          bl avg8
       
__end:    b __end

avg8:    stmfd r13!, {r2, r14}

          mov r1, #0
          mov r2, #8
     
zanka:    ldrb r3, [r0], #1
          add r1, r1, r3
          subs r2, r2, #1
          bne zanka
       
          mov r0, r1, lsr #3
          and r1, r1, #0b111
       
          ldmfd r13!, {r2, pc}
Zadnja sprememba: sreda, 15. november 2017, 00.52