Hirdetés

Keresés

Új hozzászólás Aktív témák

  • #95904256

    törölt tag

    válasz CsodaPOK #280 üzenetére

    A kiiratás igazán egyszerű...

    org 0100h

    mov ax,[number]
    mov bx,10
    mov cx,0
    cycle_1: mov dx,0
    div bx
    inc cx
    push dx
    cmp ax,0
    ja cycle_1
    cycle_2: pop ax
    add al,'0'
    int 29h
    loop cycle_2
    ret

    number: dw 12345

    Az első ciklus fogja a számot és 10-es számrendszerbe ( CX ) konvertálja. A számot mindig elosztja 10-zel és letárolja a verembe maradékot. Szép sorban a legalsó helyiértéktől kezdve tárolódnak a számjegyek egészen addíg mig el nem fogynak a számjegyek ( AX=0 lesz ).

    A második ciklus a visszafelé kipakolja a veremből a számjegyeket, majd ASCII karakterként kiírja. Itt ugye elsőre már a legnagyobb helyiértékű számjegy kerül kiírásra.

    [ Szerkesztve ]

Új hozzászólás Aktív témák