سلام:
منظور شما از راهنمایی چیست؟
برنامه ای که خواسته بودید را نوشتم.
اون چند خط اون باید داخل سگمنت داده تعریف شوند.
فقط مربع آخر را خودم دستی نوشتم و در حلقه نیست؟
اگر شما می خواهید مربع آخر را در حلقه باشد باید چهار تا مقایسه انجام دهید تا مربع آخر هم در حلقه باشد.
باز هم اگر به هر مشکلی برخورد کردید بگویید تا درستش کنم.
کد:
Y1 DB ? ;SEGMENT 'DATA'
Y2 DB ? ;SEGMENT 'DATA'
X1 DB ? ;SEGMENT 'DATA'
X2 DB ? ;SEGMENT 'DATA'
CONT DB ? ;SEGMENT 'DATA'
COLOR DB ?;SEGMENT 'DATA'
MOV AH,02H
MOV DL,'A'
INT 21H
MOV Y1,2
MOV Y2,2
MOV X1,22
MOV X2,77
MOV COLOR,10H
MOV CONT,1
L1:
CMP CONT,4
JG L2:
MOV CH,Y1;+
MOV CL,Y2;+
MOV DH,X1;-
MOV DL,X2;-
MOV BH,COLOR
MOV AH,06H
INT 10H
ADD Y1,2
ADD Y2,2
SUB X1,2
SUB X2,2
ADD COLOR,10H
INC CONT
JMP L1
L2:
MOV CH,9;+
MOV CL,35;+
MOV DH,15;-
MOV DL,45;-
MOV BH,50H
MOV AH,06H
INT 10H
سلام:
آشنایی بیشتر با وقفه پاک کردن صفحه نمایش.
وقفه پاك كردن صفحه نمايش : براي اينكار از وقفه شماره (10H) و تابع شماره (06H) استفاده مي كنيم.
شماره وقفه : 10 H
شماره تابع 06H
تنظيم پارامترها :
CH : شماره سطر گوشه سمت چپ بالا
CL: شماره ستون گوشه سمت چپ بالا
DH : شماره سطر گوشه سمت راست پايين
DL : شماره ستون گوشه سمت راست پايين
AL : تعداد خطوط محدوده
AH: شماره تابع
BH: صفت نمايشي محدوده