نمایش جدول ضرب در زبان اسمبلی

the_king

مدیرکل انجمن
کد زیر برای نمایش جدول ضرب 10 در 10 مناسب است، اعداد بصورتی با کاراکتر فاصله تکمیل می شوند که
ستون های اعداد مرتب و زیر هم قرار گیرند :

کد:
.MODEL SMALL
.STACK
.DATA
    msg DB 13,10,"Press any key to continue.",13,10,"$"
.CODE
.STARTUP
    MOV     BH, 1
loop_1:
    MOV     BL, 1
loop_2:
    MOV     AL, BL
    MUL     BH
    MOV     AH, AL
    CALL    decimalprint
    MOV     CL, AL
    MOV     AH, 2
    MOV     DL, " "
    INT     21H
    CMP     CL, 100
    JNB     next_1
    INT     21H
next_1:
    CMP     CL, 10
    JNB     next_2
    INT     21H
next_2:
    INC     BL
    CMP     BL, 10
    JBE     loop_2
    MOV     DL, 13
    INT     21H
    MOV     DL, 10
    INT     21H
    INC     BH
    CMP     BH, 10
    JBE     loop_1
    MOV     AH, 9
    LEA     DX, msg
    INT     21H
    MOV     AH, 8
    INT     21H
    .EXIT

decimalprint:
    PUSH    AX
    PUSH    BX
    PUSH    CX
    PUSH    DX
    MOV     CX, 0
    MOV     AL, AH
    MOV     BL, 10
loop_3:
    MOV     AH, 0
    DIV     BL
    PUSH    AX
    INC     CX
    CMP     AL, 0
    JNE     loop_3
    MOV     AH, 2
loop_4:
    POP     DX
    MOV     DL, DH
    ADD     DL, "0"
    INT     21H
    LOOP    loop_4
    POP     DX
    POP     CX
    POP     BX
    POP     AX
    RET
END
 

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

بالا