ورود

View Full Version : سوال: اشکال گیری اسمبلر در اسمبلر کردن کد اسمبلی



ghader313
چهارشنبه 23 بهمن 1392, 09:11 صبح
باسلام
بنده برنامه ای نوشته ام که دو عدد را از صفحه کلید دریافت کرده و آنها را جمع کند، ولی در هنگام هیور از اسمبلر 1 ارور می دهد و می گوید که PASSES:1 ولی برنامه نباید مشکلی داشته باشد.
سورس برنامه به صورت زیر است.
خوشحال می گردم کمکم کنید و بگویید که چگونه مشکل را برطرف کنم.
باتشکر فراوان

include io.h
stsg segment
dw 32dup(?)
stsg ends
daseg segment
t db 10 dup
a dw ?
b dw ?
res db 6 dup(?)
daseg ends
codseg segment
assume cs:codseg,ds:daseg
start: mov ax,daseg
mov ds,ax
inputs t,6
atoi t
mov a,ax
inputs t,6
atoi t
mov b,ax
mov ax,a
add ax,b
itoa res,ax
output res
mov ax,4c00h
int 21h
codseg ends
end start

Delphi Coder
پنج شنبه 24 بهمن 1392, 01:45 صبح
در اسمبلی فایلهای هدر معمولا با پسوند .inc هستند .h برای C هست.
این برنامه ناقص هست فایل io.h رو هم باید بزارید تا بشه فهمید مشکلش کجاست. ماکروهایی که استفاده شده ظاهرا تو اون فایل هست.

ghader313
پنج شنبه 24 بهمن 1392, 15:02 عصر
باسلام
جناب Delphi Coder باتشکر از لطف و راهنمایی تان.
ابنم فایل io.h
در ضمیمه جهت دانلود موجود است.
باتشکر

Delphi Coder
یک شنبه 27 بهمن 1392, 01:54 صبح
به نظر میاد این فایل باید مربوط به ماکرو اسمبلر باشه. با masm تحت داس من یه زمانی کار کردم اما الان ندارمش تا بتونم تست کنم. به هر حال توجه داشته باشید که از masm نسخه 16 بیتی استفاده کنید (اگر ندارید احتمالا از سرچ گوگل بتونید پیدا کنید) و فایل io.obj رو هم باید داشته باشید چون شما از توابع C توی برنامه اسمبلی تون استفاده کردید. یک روش قدیمی هست که الان زیاد رایج و مرسوم نیست چون صرفا محدود به DOS میشه وزمان DOS این کار رو میکردند.