Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #void menjaj(short short *niz, int *rez)
- #void funkcija, argumenti su adresa niza i adresa rezultata, niz se sastoji od 8 osmobitnih neoznacenih brojeva, treba napraviti dva nova broja tako da se jedan broj sastoji od najmanje znacajnih bitova clanova niza, a drugi od najznacajnijih, te brojeve posle pomnoziti sa 8 i posle ih sabrati i smestiti u rezultat koji je 32 bitan
- .section .data
- .section .text
- .globl menjaj
- menjaj:
- pushl %ebp
- movl %esp, %ebp
- pushl %ebx
- pushl %esi
- pushl %edi
- movl 8(%ebp), %ecx
- movl $8, %ebx
- movl $0, %esi
- movl $0, %edi
- prvi_broj:
- movb (%ecx), %al
- andl $1, %eax
- rorl $1, %eax
- drugi_broj:
- movb (%ecx), %dl
- andl $8, %edx
- roll $1, %edx
- sledeci_element:
- decl %ebx
- cmpl $0, %ebx
- je rezultat
- addl $1, %ecx
- jmp prvi_broj
- rezultat:
- shll $3, %eax
- shll $3, %edx
- addl %edx, %eax
- movl 12(%ebp), %ecx
- movl %eax, (%ecx)
- kraj:
- popl %edi
- popl %esi
- popl %ebx
- movl %ebp, %esp
- popl %esp
- ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement