نمایش اعداد 16 بیتی بصورت مبنای 16 در زبان اسمبلی

the_king

مدیرکل انجمن
اگر بخواهیم یک عدد 16 بیتی همانند AX را در مبنای 16 (Hexadecimal) نمایش دهیم، روتین print_hex_ax
مناسب است، به عنوان مثال عدد F14 توسط این کد نمایش داده می شود :

کد:
.MODEL SMALL
.STACK
.DATA
    msg DB 13,10,"Press any key to continue.",13,10,"$"
.CODE
.STARTUP
.386
    MOV     AX, 0F14h
    CALL    [B]print_hex_ax[/B]
    MOV     AH, 9
    LEA     DX, msg
    INT     21H
    MOV     AH, 8
    INT     21H
    .EXIT
[B]print_hex_ax[/B]:
    MOV     CX, 0
    MOV     BX, 16
loop_1:
    MOV     DX, 0
    DIV     BX
    PUSH    DX
    INC     CX
    CMP     AX, 0
    JNE     loop_1
    MOV     AH, 2
loop_2:
    POP     DX
    ADD     DL, "0"
    CMP     DL, "9"
    JNA     next_1
    ADD     DL, 7
next_1:
    INT     21H
    LOOP    loop_2
    RET
END
 

جدیدترین ارسال ها

بالا