Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- sts segment stack 'stack'
- db 512 dup(0)
- sts ends
- dane segment
- txt1 db 'Binarnie:$'
- txt2 db ' ;osemkowo: $'
- txt3 db ' ;dziesietnie: $'
- txt4 db ' ;szesnastkowo: $'
- zm1 db 30
- dane ends
- include d:\Alabv12\macros.asm
- prog segment
- assume cs:prog,ds:dane,ss:sts
- P486N
- start:
- mov ax, seg dane
- mov ds,ax
- clrscr
- wysw_bin:
- wyswietl txt1
- mov bl,[zm1]
- mov cx, 8
- ety1:
- rcl bl,1 ; obrot z przeniesieniem do flagi CF
- jc ety2 ;skok, jesli jest przeniesienie
- mov dl,'0'
- jmp ety3
- ety2:
- mov dl,'1'
- ety3:
- mov ah,2
- int 21h
- loop ety1
- wysw_oct:
- wyswietl txt2
- mov al,[zm1] ;pierwsza cyfra oct
- shr al,6 ;przesuwa wszystkie bity w prawo i ilosc bitow zdefiniowana
- add al,30h ;sumuje A i B
- mov dl,al ;w dl przechowuje wartosc al
- mov ah,2 ;wczytuje dana
- int 21h ;przerwanie
- mov al,[zm1] ;druga cyfra oct
- shl al,2 ; przesuwa bity w lewo
- shr al,5 ; przesuwa bity w prawo
- add al, 30h ; sumuje
- mov dl,al ;w dl przechowuje wartosc al
- mov ah,2 ; wczytuje dana
- int 21h ; przerwanie
- mov al,[zm1] ;trzecia cyfra oct
- and al,7
- add al, 30h
- mov dl,al
- mov ah,2
- int 21h
- wysw_dec:
- wyswietl txt3
- mov al,[zm1]
- mov ah,0
- mov bl, 10
- div bl
- mov dl, ah ;ah-jednostki
- add dl, 30h ;al-setki i dziesiatki
- push dx
- mov ah,0
- div bl ;ah-dziesiatki al-setki
- add ax,3030h
- push ax
- mov dl, al
- mov ah,2 ;wyswietl setki
- int 21h
- pop ax
- mov dl,ah
- mov ah,2
- int 21h
- pop dx ;wyswietl jednostki
- mov ah,2
- int 21h
- mov ah, 7
- int 21h
- mov ah, 4ch
- int 21h
- prog ends
- end start
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement