السلام عليكم
انا اريد ان اكتب برنامج يطبع 80 نجمه على الشاشة ابتداء من السطر 25 وبعد ذلك يتم اختفاء النجمات واحدة تلو الاخرة من الجهة اليسرى كل ثانية حتى يتم اختفاء كل النجمات وخلال الاختفاء لا يمنع هذا من برامج اخرى العمل
هذا ما توصلت له بحيث اني اطبع النجمات ولكن عند محاولت المسح ذلك لا يعمل لا اعرف ما اعمل فارجو المساعدة
البرنامج
والشكر سلف لكل من يحاول المساعدة
P286N
IDEAL
DOSSEG
MODEL SMALL
STACK 100H
DATASEG
M DB "*","$"
B DB " ","$"
N DW ?
CODESEG
PROC HSCROLL
PUSH 0B000H
POP ES
MOV CX,500*80-1
MOV SI,(25*80-2)*2
MOV DI,(25*80-1)*2
SHIFT_LINE:
MOV AX,[ES:SI]
MOV [ES:DI],AX
SUB SI,2
SUB DI,2
LOOP SHIFT_LINE
MOV CX,50
MOV SI,0
BLACK:
MOV [WORD ES:SI],0700H
ADD SI,80*2
LOOP BLACK
ret
ENDP HSCROLL
START:
MOV AX,@DATA
MOV DS,AX
MOV CX,80
L1: MOV AH,9
MOV DX,OFFSET M
INT 21H
CALL HSCROLL
DELAY: PUSH AX
PUSH BX
PUSH CX
PUSH DX
MOV CX,800
DELAY0: PUSH CX
MOV CX,0FFFFH
DELAY1: LOOP DELAY1
POP CX
LOOP DELAY0
POP DX
POP CX
POP BX
POP AX
LOOP L1
mov N,0
l2:
ADD N,1
CMP N,80
JL L2
EXIT:
MOV AH,4CH
MOV AL,0
INT 21H
END START