Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- dane SEGMENT ;segment danych
- stopien db 1 dup (?)
- a db 1 dup (?)
- b db 1 dup (?)
- czm db 1 dup (?)
- d db 1 dup (?)
- e db 1 dup (?)
- x db 1 dup (?)
- nlcr db 0dh, 0ah, "$"
- tekst_1 db "Podaj stopien wielomianu : ", 0ah, "$"
- tekst_2 db "Podaj wspolczynnik a : a*x^0", 0dh, 0ah, "$"
- tekst_3 db "Podaj wspolczynnik b : b*x^1", 0dh, 0ah, "$"
- tekst_4 db "Podaj wspolczynnik c : c*x^2", 0dh, 0ah, "$"
- tekst_5 db "Podaj wspolczynnik d : d*x^3", 0dh, 0ah, "$"
- tekst_6 db "Podaj wspolczynnik e : e*x^4", 0dh, 0ah, "$"
- tekst_7 db "Podaj x : ", 0dh, 0ah, "$"
- tekst_8 db "Wynik : ", 0dh, 0ah, "$"
- nlcr2 db 0dh, 0ah, "$"
- dane ENDS
- rozkazy SEGMENT 'CODE' use16;segment rozkazu
- ASSUME cs:rozkazy, ds:dane
- startuj: mov bx, SEG dane
- mov ds, bx
- mov dx,offset tekst_1
- mov ah, 09h
- int 21h
- mov ah, 01h
- int 21h ;czytanie znaku z klawiatury do AL
- mov stopien, al
- mov dx,offset nlcr
- mov ah, 09h
- int 21h
- ;mov dl, stopien ;pobranie kodu ASCII kolejnej cyfry
- ;mov ah, 2 ;wyświetlenie cyfry na ekranie
- ;int 21h
- cmp stopien, '0'
- je obsluga_zerowego
- cmp stopien, '1'
- je obsluga_pierwszego
- cmp stopien, '2'
- je obsluga_drugiego
- cmp stopien, '3'
- je obsluga_trzeciego
- cmp stopien, '4'
- je obsluga_czwartego
- obsluga_zerowego:
- mov dx,offset tekst_2
- mov ah, 09h
- int 21h
- mov ah, 01h
- int 21h ;czytanie znaku z klawiatury do AL
- mov a, al
- mov dx,offset nlcr
- mov ah, 09h
- int 21h
- mov dx,offset tekst_8
- mov ah, 09h
- int 21h
- mov dl, a ;pobranie kodu ASCII kolejnej cyfry
- mov ah, 2 ;wyświetlenie cyfry na ekranie
- int 21h
- jmp koniec
- obsluga_pierwszego:
- mov dx,offset tekst_2
- mov ah, 09h
- int 21h
- mov ah, 01h
- int 21h ;czytanie znaku z klawiatury do AL
- mov a, al
- mov dx,offset nlcr
- mov ah, 09h
- int 21h
- mov dx,offset tekst_3
- mov ah, 09h
- int 21h
- mov ah, 01h
- int 21h ;czytanie znaku z klawiatury do AL
- mov b, al
- mov dx,offset nlcr
- mov ah, 09h
- int 21h
- mov dx,offset tekst_7
- mov ah, 09h
- int 21h
- mov ah, 01h
- int 21h ;czytanie znaku z klawiatury do AL
- mov x, al
- mov dx,offset nlcr
- mov ah, 09h
- int 21h
- mov cl, x
- sub cl, 30h
- mov ax, 0
- mov al, b
- sub al, 30h
- mul cl
- aam
- add al, a
- sub al, 30h
- mov bl, al
- add bl,bh
- add bx, 30h
- mov dx,offset tekst_8
- mov ah, 09h
- int 21h
- mov dx, bx ;pobranie kodu ASCII kolejnej cyfry
- mov ah, 2 ;wyświetlenie cyfry na ekranie
- int 21h
- jmp koniec
- obsluga_drugiego:
- mov dx,offset tekst_2
- mov ah, 09h
- int 21h
- mov dx,offset tekst_3
- mov ah, 09h
- int 21
- mov dx,offset tekst_4
- mov ah, 09h
- int 21h
- jmp koniec
- obsluga_trzeciego:
- mov dx,offset tekst_2
- mov ah, 09h
- int 21h
- mov dx,offset tekst_3
- mov ah, 09h
- int 21h
- mov dx,offset tekst_4
- mov ah, 09h
- int 21h
- mov dx,offset tekst_5
- mov ah, 09h
- int 21h
- jmp koniec
- obsluga_czwartego:
- mov dx,offset tekst_2
- mov ah, 09h
- int 21h
- mov dx,offset tekst_3
- mov ah, 09h
- int 21h
- mov dx,offset tekst_4
- mov ah, 09h
- int 21h
- mov dx,offset tekst_5
- mov ah, 09h
- int 21h
- mov dx,offset tekst_6
- mov ah, 09h
- int 21h
- jmp koniec
- koniec:
- mov al, 0
- mov ah, 4CH
- int 21H
- rozkazy ENDS
- stosik SEGMENT stack
- dw 128 dup(?)
- stosik ENDS
- END startuj
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement