اسمبلي

gmail

Member
سلام
من يك سوال داشتم در زبان اسمبلي
مي خواستم يدونم توي اسمبلي چطوري ميشه
مثلا يك فولدر رو سرچ كرد و فايل هاش رو خوند مي شه برنامه شو اگه دارين بنويسين
يا يك توضيحي بديد كه قابل فهم واسه منه تازه كار باشه؟؟؟
 
راستش همچين كار ساده اي با اسمبلي نيست و به نظر من اصلا معقول نيست چنين كارهايي رو با اسمبلي انجام بدي
 

CenoByte

Member
سلام دوست عزيز...
آخه چرا حالا اسمبلي ؟ چه هدفي را دنبال ميكنيد؟ (البته ببخشيد )
براي هر كاري به دنبال ابزارش برويد.
 

gmail

Member
بله منم ميدونم كه با يك زبان برنامه نويسي سطح بالا به راحتي ميشه اين كارو كرد
اما مي خوام بدونم با اسمبلي چطور مي شه اين كارو كرد
ممنون
 

mazoolagh

Active Member
در محيط Dos بايد از توابع فرعي Int21h استفاده كني كه يكيش دقيقا براي همين كار هست ولي نميدونم در محيط ويندوز هم عمل ميكنه يا نه؟

ضمنا براي آگاهي دوستاني كه پيشنهاد كردن از زبانهاي سطح بالا استفاده بشه ميگم كه گاهي اوقات استفاده از زيرروالهاي اسمبلي در زبانهاي سطح بالا اجتناب ناپذير هست بخصوص هنگامي كه زمان مساله ساز باشه. كامپايلرها هميشه نسبت به پردازشگرها عقبتر هستن و ممكنه بعضي ويژگيهاي پردازشگر رو اصلا استفاده نكن كه براي رفع اون تنها راه چاره استفاده مستقيم از اسمبلي هست.
 

flashdes

Active Member
سلام عزیزم
چطوری خوبی
حالا آقا شاید جناب جی میل عزیزمون یه جا کارش گیره که لازم داره حالا هی شما بگید چرا؟
راستش رو بخواید من پروژه ترم پیشم همون بود که شما خواستین
البته یه دونه فولدر رو سرچ نمیکرد فقط یک درایو رو سرچ میکرد در ضمن برای اینکه سوالت رو بهتر پاسخ گفته باشم باید بگم :
این برنامه میره داخل یک درایو که البته من درایو فلاپی رو بهش آدرس دادم (شما هر جا خواستی ادرس بده ) میگرده هرچی فایل هست ونیست رو باز میکنه و محتوای اون فایلها رو نشون میده اگه مثلا فایل نوشتاری داشته باشی نوشته هاش رو بهت نشون میده و اگه هم فایل اجرایی(exe) داشته باشی همون اعداد اسکی که داخلش که خیلی هم عجق وجق هستن رو نشون میده اگه دنبال برنامه من میگردی بهم بگو برات بفرستم یا همینجا برات بذارم
قربونت برم خدانگهدار
در ضمن هر کی میگه اسمبلی زبون سطح پایینی هست داره اشتباه میکنه (ننه هر چی نرم افزاره (; )
 

gmail

Member
flashdes گفت:
سلام عزیزم
چطوری خوبی
حالا آقا شاید جناب جی میل عزیزمون یه جا کارش گیره که لازم داره حالا هی شما بگید چرا؟
راستش رو بخواید من پروژه ترم پیشم همون بود که شما خواستین
البته یه دونه فولدر رو سرچ نمیکرد فقط یک درایو رو سرچ میکرد در ضمن برای اینکه سوالت رو بهتر پاسخ گفته باشم باید بگم :
این برنامه میره داخل یک درایو که البته من درایو فلاپی رو بهش آدرس دادم (شما هر جا خواستی ادرس بده ) میگرده هرچی فایل هست ونیست رو باز میکنه و محتوای اون فایلها رو نشون میده اگه مثلا فایل نوشتاری داشته باشی نوشته هاش رو بهت نشون میده و اگه هم فایل اجرایی(exe) داشته باشی همون اعداد اسکی که داخلش که خیلی هم عجق وجق هستن رو نشون میده اگه دنبال برنامه من میگردی بهم بگو برات بفرستم یا همینجا برات بذارم
قربونت برم خدانگهدار
در ضمن هر کی میگه اسمبلی زبون سطح پایینی هست داره اشتباه میکنه (ننه هر چی نرم افزاره (; )
سلام
اي ول
اگه ميشه سورس رو بزار اينجا همه برو بكس استفاده كنن
ممنون
 

flashdes

Active Member
حتما این کار رو میکنم مطمئن باش ولی امروز نه
ان شا الله فردا که بیام میذارم
یا علی
 

flashdes

Active Member
اينم اوني كه ميگفتم

سلام
ببخشيد از اون روزي كه بهتون قول داده بودم يه ذره دير شده ولي خوب به هر حال تونستم بيام واوني كه بهتون قول داده بودم ميذارم در ضمن اين برنامه فلاپي ديسك رو مرور ميكنه ولي شما ميتونين براي مثلا درايو (سي يا دي يا ...) تنظيم مبوط به اينتراپت 13 رو عوض كنين بهتون خوش بگذره يا علي
کد:
title Amin_Neisary
.mode small
.stack 64
.data
beginaddr dw 0301h
endaddr dw 0401h
endcode db 00
readmsg db '##### Error in Reading ####'
sectorin db 512 dup(' ')
side db 00
;========================================
.code
a10main proc far
mov ax,@data
mov ds,ax
mov es,ax
a20:
mov ax,0003h
int 10h
call b10addr
mov cx,beginaddr
mov dx,endaddr
cmp cx,dx
je a90
call c10read
cmp endcode,00
jnz a90
lea bp,sectorin
mov cx,512
call d10disply
jmp a20

a90: mov ax,4c00h
int 21h
a10main endp
;======================================
b10addr proc near
mov cx,beginaddr
cmp cl,19
jne b90
mov cl,01
cmp side,00
je b20
inc ch
b20: xor side,01
mov beginaddr,cx
b90: ret
b10addr endp
;=====================================
c10read proc near
mov ah,02h
mov al,01
lea bx,sectorin
mov cx,beginaddr
mov dh,side
mov dl,00 {بجاي 00كه نشان دهنده فلاپي هست ميتوني براي درايو سي عدد 80براي مثلا دي 81 وهمينطور به بالاتشريف ببرين در ضمن از آخر هم اين جمله فارسي من رو به علاوه كروشش پاك كن تا برنامت كامپايل بشه{
int 13h
jnc c90
mov endcode,01
lea bp,readmsg
mov cx,18
call d10disply
c90: inc beginaddr
ret
c10read endp
;=====================================
d10disply proc near
mov ax,1301h
mov bx,0016h
mov dx,0300h
int 10h
mov ah,10h
int 16h
ret
d10disply endp
end a10main
 

جدیدترین ارسال ها

بالا