簡體   English   中英

emu8086無法在模擬器屏幕上打印數字

[英]emu8086 can't print numbers on emulator screen

我試圖在emu8086的仿真器屏幕上顯示兩個數字相乘的結果,當我使用小的8位數字時,在運行代碼時結果可以很好地打印,但是在16位數字的情況下,我在仿真器屏幕上得到0,我不確定我的代碼或模擬器本身有什么問題,我是匯編的新手,並且在過去的一個小時里我一直在嘗試解決它,這就是我的代碼

    include 'emu8086.inc' 
    name "multiply_two_16_bit_numbers"

    org 100h

    mov ax, 512   ; 
    mov bx, 512   ;

    mul bx 

    call print_num

    ret
    DEFINE_PRINT_NUM
    DEFINE_PRINT_NUM_UNS
    end

希望你們能幫助我,謝謝。

請注意,512 * 512 = 262144 = 40000h,這是一個32位數字,低16位為零,這大概就是您要打印的內容。 這種形式的mul指令將結果的前16位放入寄存器dx ,您應該在那里找到4。 如果要打印整個結果,則當然需要32位打印功能,並且必須正確傳遞參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM