;Programa que pase un número de un byte a binario DATOS SEGMENT numero db 244 ; el valor máximo sería 255 (1 byte) binario db 8 dup (?),'$' DATOS ENDS PILA SEGMENT STACK 'stack' db 128 dup(?) PILA ENDS CODIGO SEGMENT assume cs:codigo,ds:datos,ss:pila ppal proc far push ds ;Dirección de retorno al PSP sub ax,ax push ax mov ax,datos ;Inicialización del registro DS mov ds,ax mov ax,word ptr numero ;Lo voi a meter en un registro de 16 push ax mov ax, offset binario push ax call bin mov ah,9 mov dx,offset binario int 21h retf ppal endp bin proc push bp push ax push bx push cx push dx push si mov bp,sp mov ax,16[bp] mov si,14[bp] mov bx,7 ;Empezamos binario por detrás mov cx,2 ;La base por la cual dividiremos bucle: xor dx,dx div cx add dl,'0' mov [si][bx],dl dec bx cmp bx,0 jns bucle pop si pop dx pop cx pop bx pop ax pop bp ret 4 bin endp CODIGO ENDS END PPAL