Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- kod segment
- assume cs:kod
- org 100h
- wypiszbin PROC
- cwd
- mov cx, 0
- mov ax, 2354D ;Naszą liczba jest 15 dec
- mov bx, 2D ;dzielimy przez dwa
- petla:
- cmp ax,cx ;jesli CX == AX to wypisujemy
- je wypisanie
- div bx ;dzielenie AX przez BX
- add dl, 48D ;Dodajemy 48 dziesietnie zeby reszte z dzielenie zamienic na znak asci
- push dx ; wrzucamy DX na stos
- xor dx,dx ;Czyścimy rejestr dx
- jmp petla ;Przeskakujemy do petli
- wypisanie:
- pop ax ;wrzucamy rejestr AX na stos
- cmp cx,ax ;jeśli CX == AX to wychodzimy
- je exit
- mov ah, 0Eh
- int 10h
- jmp wypisanie ;skaczemy do wypisania
- exit:
- mov al,98D
- mov ah, 0Eh
- int 10h
- mov al,32D
- mov ah,0Eh
- int 10h
- mov al,61D
- mov ah,0Eh
- int 10h
- ret
- wypiszbin ENDP
- ;======================================================================================================================================================
- wypiszosm PROC
- xor ax,ax
- xor bx,bx
- xor dx,dx
- mov ax, 2354D ;
- mov bx, 8D
- petla2:
- cmp ax,cx
- je wypisanie2
- div bx
- add dl, 48D
- push dx
- xor dx,dx
- jmp petla2
- wypisanie2:
- pop ax
- cmp cx,ax
- je exit2
- mov ah, 0Eh
- int 10h
- jmp wypisanie2
- exit2:
- mov al,111D
- mov ah, 0Eh
- int 10h
- mov al,32D
- mov ah,0Eh
- int 10h
- mov al,61D
- mov ah,0Eh
- int 10h
- ret
- wypiszosm ENDP
- ;==============================================================================================================================================================
- wypiszdec PROC
- xor dx,dx
- xor ax,ax
- xor bx,bx
- mov ax, 2354D
- mov bx, 10D
- petla3:
- cmp ax,cx
- je wypisanie3
- div bx
- add dl, 48D
- push dx
- xor dx,dx
- jmp petla3
- wypisanie3:
- xor ax,ax
- pop ax
- cmp cx,ax
- je exit3
- mov ah, 0Eh
- int 10h
- jmp wypisanie3
- exit3:
- mov al,100D
- mov ah, 0Eh
- int 10h
- mov al,32D
- mov ah,0Eh
- int 10h
- mov al,61D
- mov ah,0Eh
- int 10h
- ret
- wypiszdec ENDP
- ;========================================================================================================================================================
- wypiszhex PROC
- xor ax,ax
- xor bx,bx
- xor dx,dx
- mov ax, 2354D
- mov bx, 16D
- petla4:
- cmp ax,cx
- je wypisanie4
- div bx
- cmp dl,9D
- jbe bez
- add dl,7D
- bez:
- add dl, 48D
- push dx
- xor dx,dx
- jmp petla4
- wypisanie4:
- pop ax
- cmp cx,ax
- je exit4
- mov ah, 0Eh
- int 10h
- jmp wypisanie4
- exit4:
- mov al,104D
- mov ah, 0Eh
- int 10h
- ret
- wypiszhex ENDP
- start:
- CALL wypiszbin
- mov ax, 4C00h
- int 21h
- kod ends
- end start
Add Comment
Please, Sign In to add comment