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}
.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