Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; multi-segment executable file template.
- data segment
- n db ?
- det db 10 dup (?)
- prcif db ?
- drcif db ?
- pkey db "press any key...$"
- ends
- stack segment
- dw 128 dup(0)
- ends
- code segment
- start:
- ; set segment registers:
- mov ax, data
- mov ds, ax
- mov es, ax
- mov ah, 1
- int 21h
- sub al, 48
- mov n, al
- cmp al, 2
- je det2
- jmp det3
- det2:
- mov si, 0
- unos2:
- cmp si, 4
- jl unesi2
- jmp kraj2
- unesi2:
- mov ah, 1
- int 21h
- sub al, 48
- mov det[si], al
- add si, 1
- jmp unos2
- kraj2:
- mov al, det[0]
- mov bl, det[3]
- mul bl
- mov dx, ax
- mov al, det[2]
- mov bl, det[1]
- mul bl
- sub dx, ax
- mov ax, dx
- mov bl, 10
- div bl
- mov prcif, al
- mov drcif, ah
- mov dl, prcif
- add dl, 48
- mov ah, 2
- int 21h
- mov dl, drcif
- add dl, 48
- mov ah, 2
- int 21h
- jmp gotovo
- det3:
- mov si, 0
- unos3:
- cmp si, 9
- jl unesi3
- jmp kraj3
- unesi3:
- mov ah, 1
- int 21h
- sub al, 48
- mov det[si], al
- add si, 1
- jmp unos3
- kraj3:
- mov ax, 0
- mov al, det[0]
- mov bl, det[4]
- mul bl
- mov bl, 1
- div bl
- mov bl, det[8]
- mul bl
- mov dx, ax
- mov ax, 0
- mov al, det[1]
- mov bl, det[5]
- mul bl
- mov bl, 1
- div bl
- mov bl, det[6]
- mul bl
- add dx, ax
- mov ax, 0
- mov al, det[2]
- mov bl, det[3]
- mul bl
- mov bl, 1
- div bl
- mov bl, det[7]
- mul bl
- add dx, ax
- mov ax, 0
- mov al, det[6]
- mov bl, det[4]
- mul bl
- mov bl, 1
- div bl
- mov bl, det[2]
- mul bl
- sub dx, ax
- mov ax, 0
- mov al, det[7]
- mov bl, det[5]
- mul bl
- mov bl, 1
- div bl
- mov bl, det[0]
- mul bl
- sub dx, ax
- mov ax, 0
- mov al, det[8]
- mov bl, det[3]
- mul bl
- mov bl, 1
- div bl
- mov bl, det[1]
- mul bl
- sub dx, ax
- mov ax, dx
- mov bl, 10
- div bl
- mov prcif, al
- mov drcif, ah
- mov dl, prcif
- add dl, 48
- mov ah, 2
- int 21h
- mov dl, drcif
- add dl, 48
- mov ah, 2
- int 21h
- gotovo:
- NOP
- lea dx, pkey
- mov ah, 9
- int 21h ; output string at ds:dx
- ; wait for any key....
- mov ah, 1
- int 21h
- mov ax, 4c00h ; exit to operating system.
- int 21h
- ends
- end start ; set entry point and stop the assembler.
Advertisement
Add Comment
Please, Sign In to add comment