Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- org 100h ;Przesuniecie
- start:
- xor ax,ax ;Wyczyszczenie rejestru ax
- mov ah,2
- mov dl,10
- int 21h
- mov ah,2
- mov dl,13
- int 21h
- mov ah,1 ;Zapisanie zmiennej
- int 21h
- sub al,48
- mov [zm1],al
- mov ax,[zm1]
- cmp al,9 ;Wyswietlanie silni dla max wartosci 8
- je end
- push ax
- call silnia
- mov ah,2 ;Spacja
- mov dl,32
- int 21h
- call wyswietl
- jmp end
- silnia: ;Algorytm wyliczania silni
- pop bx
- pop ax
- mov cx,ax
- mov ax,1
- petla:
- mul cx
- loop petla
- push ax
- push bx
- ret
- wyswietl: ;Wyswietlanie kolejnych cyfr
- pop cx
- pop dx
- cmp dx,9
- jna pokaz ;Wypisanie cyfry gdy < 10
- mov ax,dx
- mov bx,10 ;Jezeli wieksza, stosujemy operacje modulo
- xor dx,dx
- div bx
- push dx
- push cx
- push ax
- push wyswietl
- jmp wyswietl
- pokaz: ;Wyswietlenie jednej cyfry
- mov ah,2
- add dl,48
- int 21h
- push cx
- ret
- end: ;Koniec programu
- mov ax,4C00h
- int 21h
- zm1 dw 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement