https://pastein.ru/t/Sr

  скопируйте уникальную ссылку для отправки



; You may customize this and other start-up templates; 
; The location of this template is c:\emu8086\inc\0_com_template.txt

org 100h

call input
add si,1
n1:

mov bx,2
div bx
mov [0530h+si],dx
xor dx,dx
inc si
cmp ax,0
jnz n1
jz n2
n2:
mov [0530h+si],al
dec si 


n3:
call vyvod
xor ax,ax
dec si
;loop n3 
cmp si,0
jnz n3
ret 


proc input
    push bx
    push cx
    push dx
   
        
    xor bx, bx
    xor cx, cx
    xor dx, dx
    
    mov ah,01h
    int 21h

    cmp al,'-'
    jne m1    ;Ïðûãíóòü íà ââîä
    inc dx
m0:    
    mov ah,01h
    int 21h
    cmp al, 39h
    ja m2     ;_Çàêîí÷èòü ââîä
    cmp al, 0h
m1:       
    sub al,30h
    jb m2    ;_Çàêîí÷èòü ââîä

    mov cl,al
    shl bx,1
    mov ax,bx
    shl ax,2
    add bx,ax
    add bx,cx
    jmp m0   ;_Ïîâòîðèòü ââîä
m2:    
    test dx,dx
    jz m3
    neg bx
m3:
    mov ah, 02h
	 mov dl, 0dh
	 int 21h
   mov dl, 0ah
    int 21h
    xor cx,cx
    mov ax,bx
    pop bx
    pop cx
    pop dx
   

ret    
endp input





    
endp proc1 

proc vyvod
mov al,[0530h+si]

cmp ax, 0
jne print_ax_r
    push ax
    mov al, '0'
    mov ah, 0eh
    int 10h
    pop ax
    ret 
print_ax_r:
    pusha
    mov dx, 0
    cmp ax, 0
    je pn_done
    mov bx, 10
    div bx    
    call print_ax_r
    mov ax, dx
    add al, 30h
    mov ah, 0eh
    int 10h    
    jmp pn_done
pn_done:
    popa  


ret
endp

ret