Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;Unijeti niz od N<10 jednocifrenih brojeva, a zatim izbaciti sve koji su neparni
- %include 'assembler/asm_io.inc'
- segment .data
- poruka_1 db "Unesite 10 proizvoljnih brojeva", 0
- space db " ", 0
- djelilac dd 2
- segment .bss
- niz resd 9
- segment .text
- global asm_main
- asm_main:
- enter 0, 0
- pusha
- ; stampanje poruke_1
- mov eax, poruka_1
- call print_string
- call print_nl
- mov ebx, 0 ;Ovo je index niza
- mov ecx, 9
- read_loop:
- call read_int
- mov dword[niz + ebx], eax
- inc ebx
- loop read_loop
- call print_nl
- mov edx, 0 ; samo ga postavljamo na nulu, nije potrebno ali je dobra praksa
- mov ebx, 0
- mov ecx, 9
- process_loop:
- mov eax, dword[niz + ebx]
- div dword[djelilac]
- cmp edx, 0
- jne izbaci_neparni
- jmp paran_je
- izbaci_neparni: ; neparne postavlja na nulu
- mov eax, 0
- mov dword[niz + ebx], eax
- paran_je:
- inc ebx
- loop process_loop
- mov ebx, 0
- mov ecx, 9
- print_loop:
- mov eax, dword[niz + ebx]
- call print_int
- call print_nl
- inc ebx
- loop print_loop
- popa
- mov eax, 0
- leave
- ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement