برنامه ای با زبان اسمبلی (به لطف دوستان) نوشتیم که میاد اطلاعات را با زدن علامت جمع در رشته هایی مجزا قرار میدهد اما وقتی علاماتی دیگر چون(*،%،-)را فعال میکنیم خطا میدهد که از محدوده خارج شدیم ، ما برای رفع این مشکل اومدیم گام بندی انجام دادیم یعنی چندین گام در نظر گرفتیم اما باز هم خطا میدهد،
به شدت به پاسخ این سوال نیاز داریم ، ممنون میشیم پاسخ بدین، بااحترام
سلام .
من مشکل ارورهای مربوط به پرشهای شرطی شما رو رفع کردم . هیچ تغییری در برنامتون ندادم . و برنامتون بر همون روال سابقتون هست .
شما همونطور که در کد زیر میبینید بجای اینکه از لیبل ها استفاده کنید خیلی راحت بخش های مختلف کارتون رو میتونید در قالب توابعی پیاده سازی کنید و از اونها استفاده کنید .
اگر مشکل دیگه ای هست بفرمایید :
include io.h
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;macro;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
window macro color,x1,y1,x2,y2
mov ah,06h
mov bh,color
mov ch,x1
mov cl,y1
mov dh,x2
mov dl,y2
int 10h
endm
;;;;;;;;;;;;;;;save registers;;;;;;;;;;;;;;;
pushreg macro
push ax
push bx
push cx
push dx
endm
;;;;;;;;;;;;;;;;loads registers;;;;;;;;;;;;;;
popreg macro
pop dx
pop cx
pop bx
pop ax
endm
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
print_msg macro msg
mov dx,offset msg
mov ah,9h
int 21h
endm
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
gotoxy macro x1,y1
mov ah,2
mov dl,x1
mov dh,y1
mov bh,0
int 10h
endm
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
cls macro color
mov ax,0600h
mov bh,color
mov cx,0000h
mov dx,204fh
int 10h
endm
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
delay macro time
local lbldelay2
local lbldelay1
local lbldelay0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;data segment;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
data segment
msg0 db '0',"$"
msg1 db '1',"$"
msg2 db '2',"$"
msg3 db '3',"$"
msg4 db '4',"$"
msg5 db '5',"$"
msg6 db '6',"$"
msg7 db '7',"$"
msg8 db '8',"$"
msg9 db '9',"$"
msg10 db '+',"$"
msg11 db '-',"$"
msg12 db '*',"$"
msg13 db '%',"$"
msg14 db '=',"$"
DIGIT DB 0
DIGIT1 DB 0
DIGIT2 DB 0
COUNTER DW 0
COUNTER1 DW 0
COUNTER2 DW 0
;ERRORMSG DB 'COLOR NOT DEFINED',0
STRING Db 8 DUP(' '),0
;STRING1 DB 10 DUP(' '),0
STRING2 DB 7 DUP(' '),0
y Dw 10 DUP(' '),'$'
vaziat db 0
namad db 0
capacity db 20 dup(0),0
x dw 0,'$'
of db 0
علاقه مندی ها (Bookmarks)