user68
شنبه 17 اردیبهشت 1390, 15:06 عصر
با سلام
من این برنامه رو نوشتم البته هنوز کامل نیست خیلی مونده تا کامل بشه نمیدونم چرا وقتی اجراش میکنم مد مانیتور رو تغییر نمیده (call mod) و پروسیجر های بعدی رو فقط اجرا میکنه حالا اگه جای ها رو عوض کنم بازم اولین پروسیجررو فراخوانی نمیکنه اما اگه تیکه اول رو تو یه فایل جدا بنویسم جواب میده!! مشکل از کجاست؟
با تشکر
cod-seg segment
assume ss: cod-seg ds: cod-seg cs: cod-seg
org 100h
xpos db 0ch
ypos db 37h
lastdirect db 1
start:jmp main
main proc near
call mod
call t
call mar
l3:mov ax,4c00h
int 21h
main endp
mod proc near
mov ah,00h
mov al,03h
int 10h
mod endp
t proc near
mov ah,02h
mov dh,ypos
mov dl,xpos
int 10h
ret
t endp
mar proc near
mov lastdirect,1h
mov cx,4
mov al,16h
l1:mov ah,0eh
mov bh,00h
mov bl,07h
int 10h
loop l1
mov al,138
mov ah,0eh
mov bh,00h
mov bl,07h
int 10h
mov ah,01h
int 16h
jnz direction
jmp l3
direction:
mov lastdirect,1
cmp ah,4dh
mov dh,ypos+2
mov dl,xpos+2
mov ah,02h
int 10h
call clrscr
call mar
mar endp
clrscr proc near
mov ax,0600h
mov cx,0000h
mov dx,184fh
int 10h
clrscr endp
من این برنامه رو نوشتم البته هنوز کامل نیست خیلی مونده تا کامل بشه نمیدونم چرا وقتی اجراش میکنم مد مانیتور رو تغییر نمیده (call mod) و پروسیجر های بعدی رو فقط اجرا میکنه حالا اگه جای ها رو عوض کنم بازم اولین پروسیجررو فراخوانی نمیکنه اما اگه تیکه اول رو تو یه فایل جدا بنویسم جواب میده!! مشکل از کجاست؟
با تشکر
cod-seg segment
assume ss: cod-seg ds: cod-seg cs: cod-seg
org 100h
xpos db 0ch
ypos db 37h
lastdirect db 1
start:jmp main
main proc near
call mod
call t
call mar
l3:mov ax,4c00h
int 21h
main endp
mod proc near
mov ah,00h
mov al,03h
int 10h
mod endp
t proc near
mov ah,02h
mov dh,ypos
mov dl,xpos
int 10h
ret
t endp
mar proc near
mov lastdirect,1h
mov cx,4
mov al,16h
l1:mov ah,0eh
mov bh,00h
mov bl,07h
int 10h
loop l1
mov al,138
mov ah,0eh
mov bh,00h
mov bl,07h
int 10h
mov ah,01h
int 16h
jnz direction
jmp l3
direction:
mov lastdirect,1
cmp ah,4dh
mov dh,ypos+2
mov dl,xpos+2
mov ah,02h
int 10h
call clrscr
call mar
mar endp
clrscr proc near
mov ax,0600h
mov cx,0000h
mov dx,184fh
int 10h
clrscr endp