Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; FILIPARAG © 2015
- ; maximum / minimum / summation / inversion
- org 100h
- .data
- niz dw 3, 7, 4, 5, 8, 2, 9
- n dw 7
- result dw ?
- .code
- mov ax, @data
- mov ds, ax
- lea si, niz
- mov cx, n
- bacanje:
- push [si]
- add si, 2
- loop bacanje
- ; call max
- ; call min
- ; call sum
- ; call inv
- mov result, dx
- proc max
- pop bp
- mov cx, n
- mov dx, 0
- maxskidanje:
- pop ax
- cmp ax, dx
- jbe maxpreskoci
- mov dx, ax
- maxpreskoci:
- loop maxskidanje
- push bp
- ret
- endp
- proc min
- pop bp
- mov cx, n
- sub cx, 1
- pop dx
- minskidanje:
- pop ax
- cmp ax, dx
- jae minpreskoci
- mov dx, ax
- minpreskoci:
- loop minskidanje
- push bp
- ret
- endp
- proc sum
- pop bp
- mov cx, n
- mov dx, 0
- sumskidanje:
- pop ax
- add dx, ax
- loop sumskidanje
- push bp
- ret
- endp
- proc inv
- pop bp
- mov cx, n
- mov si, 0
- invskidanje:
- pop ax
- mov [si], ax
- add si, 2
- loop invskidanje
- mov si, 0
- mov dx, [si]
- push bp
- ret
- endp
- end
- ; crossover
- org 100h
- .data
- niz1 dw 1, 2, 3, 4, 5, 6
- niz2 dw 7, 8, 9, 10, 11, 12
- n dw 6
- .code
- mov ax, @data
- mov ds, ax
- lea si, niz1
- mov ax, n
- mov bx, 2
- div bx
- mov cx, ax
- add si, n
- sub si, 2
- b1:
- push [si]
- sub si, 2
- loop b1
- lea si, niz2
- mov cx, ax
- mov ax, n
- mov bx, 2
- mul bx
- add si, ax
- sub si, 2
- b2:
- push [si]
- sub si, 2
- loop b2
- call crs
- proc crs
- pop bp
- lea si, niz1
- mov ax, n
- mov bx, 2
- div bx
- mov cx, ax
- s1:
- pop [si]
- add si, 2
- loop s1
- lea si, niz2
- mov cx, ax
- add si, n
- s2:
- pop [si]
- add si, 2
- loop s2
- push bp
- ret
- endp
- end
- ; inversion2
- org 100h
- .data
- niz1 dw 1, 2, 3, 4, 5, 6
- niz2 dw dup(6)
- n dw 6
- .code
- mov ax, @data
- mov ds, ax
- lea si, niz1
- mov cx, n
- bacanje:
- push [si]
- add si, 2
- loop bacanje
- call inv2
- proc inv2
- pop bp
- lea si, niz2
- mov cx, n
- skidanje:
- pop [si]
- add si, 2
- loop skidanje
- push bp
- ret
- endp
- end
- ; summation2
- org 100h
- .data
- niz dw 1, 2, 3, 4, 5, 6, 7, 8, 9
- n dw 9
- result dw ?
- .code
- mov ax, @data
- mov ds, ax
- lea si, niz
- mov ax, n
- push ax
- push si
- call sum2
- mov result, dx
- proc sum2
- push bp
- mov bp, sp
- mov si, [bp+4]
- mov cx, [bp+6]
- mov dx, 0
- sabiranje:
- add dx, [si]
- add si, 2
- loop sabiranje
- mov sp, bp
- pop bp
- ret
- endp
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement