PDA

View Full Version : سوال: خطای اسمبلر....Unknown character



moh_mov
پنج شنبه 02 دی 1389, 17:45 عصر
سلام.
اسمبلر رو برنامه زیر خط 26 ارور داره.میگه Unknown character
مشکل از کجاست؟
و یک مشکل دیگه ... در انتهای کد آیا من برای نمایش این 3 عدد درست کار کرده ام؟اسمبرآنجا هم خطا می دهد.


;;please do not copy this source
;;Mohammad Movaffagh Yami
MYDSEG SEGMENT
FIRST DB 10H
DB 3H
DB -8
DB 0
NEGE DB 0
PLUSE DB 0
ZERO DB 0 ;line 10
MYDSEG ENDS

MYCSEG SEGMENT
ASSUME CS:MYCSEG,DS:MYDSEG
MAIN PROC FAR

MOV SI,OFFSET FIRST
MOV AX,[SI]
MOV CX,4
AGAIN : ;line 20
CMP AX,0
JNZ NEXTP
INC ZERO
JMP LAST
NEXTP :
` JNS NEXTN
INC PLUSE
JMP LAST
NEXTN :
INC NEGE ;line 30
LAST :
INC SI
MOV AX,[SI]
LOOP AGAIN

MOV AH,09
DX,OFFSET NEGE
INT 21H
MOV AH,09
DX,OFFSET PLUSE ;line 40
INT 21H
MOV AH,09
DX,OFFSET ZERO
INT 21H

MAIN ENDP

MYCSEG ENDS
END MAIN

xman_1365_x
پنج شنبه 02 دی 1389, 20:38 عصر
برنامت خطاي گرامري زياد داره دستوراتو ناقص نوشتي اون خط 26 هم گفتي اولش يك كاراكتر اضافه هست
درستش كردم اجرا كردم ميوفته توي يك حلقه بينهايت
توي اين قسمت


MOV SI,OFFSET FIRST
MOV AX,[SI]
MOV CX,4
AGAIN : ;line 20
CMP AX,0
JNZ NEXTP

وقت ندارم همشو ببينم اما براي چاپ اعداد هم اگر كد اسكي نبود بايد به اسكي تبديل كني بعد نمايش بدي

xman_1365_x
پنج شنبه 02 دی 1389, 20:40 عصر
يادم رفت اينم رفع مشكل سورس شما همون مشكلاتي كه بالا گفتم همچنان برقرار هست خودتون وقت بزاريد حلش كنيد.



;;please do not copy this source
;;Mohammad Movaffagh Yami
MYDSEG SEGMENT
FIRST DB 10H
DB 3H
DB -8
DB 0
NEGE DB 0
PLUSE DB 0
ZERO DB 0 ;line 10
MYDSEG ENDS

MYCSEG SEGMENT
ASSUME CS:MYCSEG,DS:MYDSEG
MAIN PROC FAR

MOV SI,OFFSET FIRST
MOV AX,[SI]
MOV CX,4
AGAIN : ;line 20
CMP AX,0
JNZ NEXTP
INC ZERO
JMP LAST
NEXTP :
JNS NEXTN
INC PLUSE
JMP LAST
NEXTN :
INC NEGE ;line 30
LAST :
INC SI
MOV AX,[SI]
LOOP AGAIN

MOV AH,09
mov DX,OFFSET NEGE
INT 21H
MOV AH,09
mov DX,OFFSET PLUSE ;line 40
INT 21H
MOV AH,09
mov DX,OFFSET ZERO
INT 21H

MAIN ENDP

MYCSEG ENDS
END MAIN

moh_mov
جمعه 03 دی 1389, 10:00 صبح
دوستان من مشکل کد بالا رو نمی فهمم.این اولین برنامه اسمبلی من هست.قراره مثلا همون 4 تا عدد رو بگیره و تعداد منفی ها مثبت ها و صفر ها رو نمایش بده.میشه راهنمایی کنید؟

xman_1365_x
جمعه 03 دی 1389, 15:11 عصر
این اولین برنامه اسمبلی من هست.قراره مثلا همون 4 تا عدد رو بگیره و تعداد منفی ها مثبت ها و صفر ها رو نمایش بده.میشه راهنمایی کنید؟ براي تشخيص مثبت و منفي بودن عدد بيت آخرو چك كن 1 يعني منفي 0 يعني مثبت
اگر همه بيت ها 0 باشه خوب عدد صفر هست
بعد از تشخيص يك شمارنده براي هر كدوم اضافه كن مثلا اگر عددي منفي هست به تعداد متغير منفي اضافه كن
گرفتن و نمايش هم كه با وقفه انجام ميشه
موفق باشي