the_king
مدیرکل انجمن
اگر بخواهیم یک عدد 16 بیتی همانند AX را در مبنای 16 (Hexadecimal) نمایش دهیم، روتین print_hex_ax
مناسب است، به عنوان مثال عدد F14 توسط این کد نمایش داده می شود :
مناسب است، به عنوان مثال عدد 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