回覆列表
  • 1 # 藍風24

    無符號數不需要擴充,硬要說的話在初始暫存器後你所謂的高位直接為零,至於要輸出:

    比如你的結果存於暫存器(BX)=1234H,你要在螢幕上輸出

    mov cl,4;移位時移動的位數

    mov si,4;要移動4次,用si作為迴圈控制

    a: ror bx,cl

    mov dx,bx;將BX的內容放入DX中

    and dl,0fh;輸出你當前BX中的最高位

    cmp dl,9;判斷當前要輸出的資料是0-9還是a-f

    ja h

    add dl,30h;0-9加上30h變為相應字元的ascii

    jmp go

    h: add dl,57h;a-f加上57h變為a-f相應的ascii

    mov ah,2

    int 21h;呼叫2號中斷輸出當前dl中的內容,當前dl中的內容為ascii

    dec si

    cmp si,0

    jz end

    jmp a

    end:mov ah,4ch;結束

    int 21h

    如果你要輸出的位數過高暫存器不夠用你又嫌麻煩可以將結果存於陣列或堆疊中,需要輸出的時候取出來就是了

  • 中秋節和大豐收的關聯?
  • 皇上將四阿哥立儲的詔書藏於正大光明牌匾後,甄嬛是如何知道的?