Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- org 100h ;okreslenie stosu
- start:
- ;pobierz zmienna A
- mov ah,9
- mov dx,ent1
- int 21h
- mov ah,9
- mov dx, wpZmien1
- int 21h
- mov ah,1
- int 21h
- mov ah,0
- sub ax,48
- push ax
- ;pobierz zmienna B
- mov ah,9
- mov dx,ent1
- int 21h
- mov ah, 9
- mov dx, wpZmien2
- int 21h
- mov ah,1
- int 21h
- mov ah,0
- sub ax,48
- push ax
- ;wybierz dzialanie
- mov ah,9
- mov dx, ent1
- int 21h
- mov ah,9
- mov dx, tekst
- int 21h
- mov ah,1
- int 21h
- warunki:
- ; czy ponizej
- cmp al,48
- jb zlyZnak
- ; czy wprowadzono 1
- cmp al,49
- je dodawanie
- jb zlyZnak
- ; czy wprowadzno 2
- cmp al,50
- je odejmowanie
- ; czy wprowadzona 3
- cmp al,51
- je mnozenie
- ; czy wrowadzona 4
- cmp al,52
- je dzielenie
- ; czy powyzej
- cmp al,53
- ja zlyZnak
- zlyZnak:
- ;wprowadzono zly znak poza 1-4
- mov ah,9
- mov dx,ent1
- int 21h
- mov ah,9
- mov dx,blad
- int 21h
- jmp koniec
- koniec:
- mov ax,4c00h
- int 21h
- zmienne:
- ent1 db 13,10,36
- tekst db "Witaj uzytkowniku, wybierz dostepne dzialanie arytmetyczne: ", 13,10, "1 - dodaj", 13,10, "2 - odejmij",13,10, "3 - pomnoz",13,10, "4 - podziel", 13,10,36
- wpZmien1 db "Podaj wartosc zmiennej A:",13,10,36
- wpZmien2 db "Podaj wartosc zmiennej B:",13,10,36
- wpWynik db "Wynik wynosi: ", 13,10,36
- blad db "Wprowadzono zly znak, nieodpowiadajacy wskazanym instrukcjom, zakanczam program",13,10,36
- dodawanie:
- push bp
- mov bp,sp
- mov ax,0
- mov ax,[bp+4]
- mov bx,[bp+2]
- add ax,bx
- pop bp
- jmp petla1
- odejmowanie:
- push bp
- mov bp,sp
- mov ax,0
- mov ax,[bp+4]
- mov bx,[bp+2]
- sub ax,bx
- pop bp
- jmp petla1
- mnozenie:
- push bp
- mov bp,sp
- mov ax,0
- mov ax,[bp+4]
- mov bx,[bp+2]
- mul bl
- jmp petla1
- dzielenie:
- push bp
- mov bp,sp
- mov ax,0
- mov ax,[bp+4]
- mov bx,[bp+2]
- div bl
- mov ah,0
- pop bp
- jmp petla1
- wypisz:
- mov ah,9
- mov dx,ent1
- int 21h
- mov ah,9
- mov dx,wpWynik
- int 21h
- jmp petla2
- petla1:
- cmp ax, 0
- jle wypisz
- mov bx,10
- div bx
- push dx
- inc cx
- jmp petla1
- petla2:
- pop dx
- mov ax,dx
- add ax,48
- mov ah,2
- mov dx,ax
- int 21h
- loop petla2
- jmp koniec
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement