the_king
مدیرکل انجمن
اگر بخواهیم یک عدد 32 بیتی همانند EAX را در مبنای 10 (Decimal) نمایش دهیم، روتین print_dec_eax
مناسب است، به عنوان مثال عدد 1234567890 توسط این کد نمایش داده شده است :
مناسب است، به عنوان مثال عدد 1234567890 توسط این کد نمایش داده شده است :
کد:
.MODEL SMALL
.STACK
.DATA
msg DB 13,10,"Press any key to continue.",13,10,"$"
.CODE
.STARTUP
.386
MOV EAX, 1234567890
CALL [B]print_dec_eax[/B]
MOV AH, 9
LEA DX, msg
INT 21H
MOV AH, 8
INT 21H
.EXIT
[B]print_dec_eax[/B]:
MOV CX, 0
MOV EBX, 10
loop_1:
MOV EDX, 0
DIV EBX
PUSH DX
INC CX
CMP EAX, 0
JNE loop_1
MOV AH, 2
loop_2:
POP DX
ADD DL, "0"
INT 21H
LOOP loop_2
RET
END