Binary Calculator

.model small
.stack
.data
    str db 20 dup('$')
    crlf db 0dh, 0ah,'$'
    num db 255  ; Number for Conversion less than 256
.code
main proc
    mov ax, @data
    mov ds, ax
    xor dx,dx
    mov bh, 2
    mov al, num
    xor cx, cx
    next:
        xor ah, ah
        div bh
        mov dl, ah
        push dx
        inc cx
        cmp al, 2
    jge next
    lea si, str
    add al, 30h
    mov [si], al
    inc si
    next1:
        pop dx
        add dl, 30h
        mov [si], dl
        inc si
    loop next1
    mov al, '$'
    mov [si], al
    lea dx, str
    mov ah, 09h
    int 21h
    mov ax, 4c00h
    int 21h
endp