简体   繁体   中英

No output from 8086 program when running ml program.asm in DOSBox

I got this code from the Geeks-for-Geeks site , but there were lots of indentation errors, I changed the code to the following but, when running the code using MASM and DOSBox it's giving no output.

The Output I should get, According to the site I should get 20 but I get nothing, the code is saved as pro.asm, and I'm using DOSBox version 0.74. For getting the o/p in the DOSBox I did,

mount c c:\8086
c:
ml pro.asm

Code:

;8086 program to convert a 16-bit decimal number to octal 

.MODEL SMALL 
.STACK 100H 
.DATA 
d1 dw 16 
.CODE 
        MAIN PROC FAR 
        MOV ax,@DATA
        MOV ds,ax

;load the value stored in variable d1 
        MOV ax, d1

;convert the value to octal
;print the value 
        CALL PRINT
 
;interrupt to exit
        MOV AH,4CH 
        INT 21H 

        MAIN ENDP 
        PRINT PROC 

;initialize count   
        MOV cx,0 
        MOV dx,0 

label1:          ;if ax is zero 
        cmp ax,0
        je print1 

;initialize bx to 8
        mov bx, 8 
  
;divide it by 8 to convert it to octal 
        div bx  

;push it in the stack   
        push dx 

;increment the count
        inc cx 

;set dx to 0 
        xor dx,dx 
        jmp label1 

print1:            ;check if count is greater than zero 
        cmp cx,0 
        je exit

;pop the top of stack 
        pop dx 

;add 48 so that it 
;represents the ASCII 
;value of digits 
        add dx,48 

;interrupt to print a 
;character 
       mov ah,02h 
       int 21h 

;decrease the count 
       dec cx
       jmp print1
 
exit :  ret 
        PRINT ENDP 
        END MAIN 

The output I'm getting can be seen below输出

Your code looks okay. Your screenshot shows you have only assembled and linked the code but not actually run it. To run it type:

pro.exe

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM