Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; "LAB3"
- dane SEGMENT
- Buf_1 db 4 dup(0)
- Lbin dw 0
- Buf_2 db 128 dup(0)
- tekst db 13,10,"$"
- dane ENDS
- rozkazy SEGMENT 'CODE' use16
- ASSUME cs:rozkazy, ds:dane
- wystartuj:
- mov ax, SEG dane
- mov ds, ax
- mov es, ax
- mov si, 0
- mov cx, 4 ;liczba obiegow petli
- ptl1:;wczytanie liczby do AX
- mov ah, 1
- int 21H ;z klawiatury do AL
- cmp al, 13
- je nacis_enter
- sub al, 30H ;zamiana ascii-> wartosc cyfry
- mov bl, al ; przechowywanie kolejnej cyfry
- mov bh, 0
- mov ax, 6 ; system szostkowy
- mul si ;mnozenie, iloczny wpisany do DX AX
- add ax, bx ;dodanie aktualnie wczytanej cyfry
- mov si, ax ;
- loop ptl1
- mov dx, offset tekst
- mov ah, 09H
- int 21H
- nacis_enter:
- mov [Lbin], si ;przepisanie wyniku konwersji do LBIN
- mov ax, [Lbin]
- mov cx, 4
- mov bx, 5 ; system piatkowy
- mov si, 3
- p1:
- mov dx,0
- div bx
- add dx, 30H
- mov Buf_2[si], dl
- dec si
- loop p1
- ;usuwanie zer nieznaczacych z lewej
- mov cx, 4
- mov si, 0
- p2:
- cmp byte PTR Buf_2[si],30H ; sprawdzenie cyfry 0
- jne druk
- mov byte PTR Buf_2[si], 20H ; kod spacji w miejsce zera
- inc si
- loop p2
- druk:
- mov cx, 4
- mov si, 0
- p3:
- mov dl, Buf_2[si]
- mov ah, 2
- int 21H
- inc si
- loop p3
- mov al,0
- mov ah, 4CH
- int 21H
- rozkazy ENDS
- moj_stos SEGMENT stack
- dw 128 dup(?)
- moj_stos ENDS
- END wystartuj
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement