برای مشاهده مفیدترین ارسال در این موضوع اینجا کلیک کنید

نمایش نتایج: از شماره 1 تا 7 از مجموع 7
  1. #1
    بنیانگذار
    تاریخ عضویت
    2010 January
    محل سکونت
    زیر سایه خدا
    سن
    33
    ارسال ها
    1,307
    تشکر
    2,923
    تشکر شده 2,205 بار در 886 پست
    نوشته های وبلاگ
    37


    3 امتياز مثبت از 3 راي
    آيا اين پست براي شما سودمند بود؟ بله | خیر

    آموزش نحوه اجرای سیستم عامل نوشته شده توسط شما

    مطالب زیر برگرفته از وبلاگ ما هست . و مطالب هنوز ویرایش نشدن . پیشاپیش بخاطر عدم ویرایش عذرخواهی میکنم . انشاالله سر فرصت مطالب ویرایش میشن .
    -----------
    از پیوست دانلود کنید:
    فیلم کار با ابزار ها و نحوه تست و اجرای سیستم عامل خودتون(۱.۵ مگ)
    توضیحات کلی و چگونگی شروع کد نویسی کرنل و یک سری توضیحات دیگه -(انتهای مطلب)
    سوالات بخش اول و دوم و سوالات بخش کامنت ها (انتهای مطلب)


    شرمنده که دیر شد . اینو ببینید باید مشکلتون رو در شروع پروژه از بین ببره. اگه ایرادی دارید چیزی گنگه بگید باز و خواهشا مشخص کنید چی میخوایید چون من واقعا برام مشخص نیست کجا رو چقدر توضیح بدم.

    بوت لودر قبلی که اپلود کرده بودم انگار مشکل داشت .من بوت لودر ۳ خود استاد رو درست کردم دوباره و ازش اجرا هم گرفتم . فیلم هم گرفتم که که دیگه نگید نمیشه سیستم عامل رو لود نمیکنه . تو فایل بالا که ۷ کیلو بایت هست . هم فایل سورس کد اسمبلی بوت لودر ۳ و هم فایل اسمبلی کرنل و هم ایمیج فلاپی دیسک مجازی برای اجرا در bochs قرار داره .
    این فیلم ۶۲ مگ شد ! کم حجم کردم شد ۱.۸مگ! تو این فیلم تمام مراحل نصب و ساخت فلاپی دیسک مجازی و نحوه تست بوت لودر و سیستم عامل رو نمایش دادم .
    دیگه هم فعلا دارم سعی میکنم یه توضیحات کلی و جزئی در مورد پروژه بدم . نمیدونم تا کی طول میکشه . اما تمام سعیم رو میکنم که هر چه زودتر برسونم بهتون .
    با نام و یاد خدای بزرگ شروع میکنیم :

    ابزار های مورد نیاز برای تست و توسعه سیستم عامل (از پیوست دانلود کنید)

    Bochs 2.4.5 و virtual Floppy Disk 080206 و PartCopy+ توضیحات
    فقط توضیحات نحوه کار با ابزارهای بالا (برای اونایی که این برنامه رو قبلا دنلود کردن)
    چند تا فایل ومقاله جدید که امروز صبح استاد داد .(Archive.rar)

    برنامه WritebootSector برای تبدیل فایلهای exe بوت لودر وکرنل به فایلهای باینری و قرار دادن بوت لودر در سکتور صفر فلش یا فلاپی(از پیوست دانلود کنید)
    همونطور که میبینید من بجای اینکه اینجا رو شلوغ کنم اومدم همه اون سوالات و جوابهاش رو تو یه فایل قرار دادم .از این به بعد هم همین کار رو میکنم .( اول جواب میدم در بخش کامنت سر وقت تو فایل برای دنلود قرار میدم).

    توجه :
    سیستم عامل هم اضافه شد میتونید از پیوست دانلود کنید . (ایمیج فلاپی هست که میتونید تو Vmware یا Bochs یا Virtual PC و ... اجراش کنید . اگه خواستید میتونید فایل Kernel.SOS که فایل باینری کرنل هست رو بریزید روی یه فلش و فلش رو با برنامه رایت بوت سکتور بوت ایبل کنید که دیگه نیازی به مجازی سازی نباشه )
    برای دانلود سورس کد پروژه اینجا رو ببینید
    پروژه سیستم عامل در اسمبلی با توضیحات خط به خط برای اولین بار




    موضوعات مشابه:
    فایل های پیوست شده
    ویرایش توسط Hossein : 15th July 2014 در ساعت 01:00 AM
    توکل بخدا
    http://DeepLearning.ir
    اولین و تنها مرجع یادگیری عمیق ایران


    هرکس از ظن خود شد یار من
    از درون من نجست اسرار من




  2. #2
    عضو تازه وارد
    تاریخ عضویت
    1970 January
    ارسال ها
    16
    تشکر
    104
    تشکر شده 50 بار در 25 پست


    1 امتياز مثبت از 1 راي
    آيا اين پست براي شما سودمند بود؟ بله | خیر
    سلام
    من وقتی توی نوت پد برنامه ای که شما مینویسید رو مینویسم
    (البته نه دقیقا کپیشو)ولی همین دستور شروع که نوشتید و دستور اخری که
    end
    هستش،ایراد میگیره
    توی اون بوت لودر اولیه که ساده بود حالا یجوری تغییرش میدادم حل میشد(اخه نمونه ای این رو در سایت دیگه ای خونده بودم و شروع و پایانش متفاوت بود و ران مییشد)ولی وقتی کد بزرگتر میشه من دیگه نمیدونم وقتی از من داره ایراد میگیره باز دوباره همون مشکله ؟برای اجرا باید با ویژوال استدیو حتما نوشت؟



  3. #3
    بنیانگذار
    تاریخ عضویت
    2010 January
    محل سکونت
    زیر سایه خدا
    سن
    33
    ارسال ها
    1,307
    تشکر
    2,923
    تشکر شده 2,205 بار در 886 پست
    نوشته های وبلاگ
    37


    1 امتياز مثبت از 1 راي
    آيا اين پست براي شما سودمند بود؟ بله | خیر
    نقل قول نوشته اصلی توسط farahani7 نمایش پست ها
    سلام
    من وقتی توی نوت پد برنامه ای که شما مینویسید رو مینویسم
    (البته نه دقیقا کپیشو)ولی همین دستور شروع که نوشتید و دستور اخری که
    end
    هستش،ایراد میگیره
    توی اون بوت لودر اولیه که ساده بود حالا یجوری تغییرش میدادم حل میشد(اخه نمونه ای این رو در سایت دیگه ای خونده بودم و شروع و پایانش متفاوت بود و ران مییشد)ولی وقتی کد بزرگتر میشه من دیگه نمیدونم وقتی از من داره ایراد میگیره باز دوباره همون مشکله ؟برای اجرا باید با ویژوال استدیو حتما نوشت؟
    من که اینجا کدی ندادم. هر جا مشکل دارین لطفا تو همون صفحه مربوط به خودش جواب بدید .
    موقع پاسخ دادن هم حتما بگید مثلا من این کد رو نوشتم ( کد رو بزارید ) و فلان ارور رو هم گرفتم (ارور رو هم دقیقا ینویسید ) تا اینطور بشه کمکتون کرد.

    توکل بخدا
    http://DeepLearning.ir
    اولین و تنها مرجع یادگیری عمیق ایران


    هرکس از ظن خود شد یار من
    از درون من نجست اسرار من




  4. #4
    عضو تازه وارد
    تاریخ عضویت
    1970 January
    ارسال ها
    16
    تشکر
    104
    تشکر شده 50 بار در 25 پست


    0 امتياز مثبت از 1 راي
    آيا اين پست براي شما سودمند بود؟ بله | خیر
    جالب بود
    ممنون از اینکه سیستم عامل رو هم گذاشتید


  5. #5
    عضو تازه وارد
    تاریخ عضویت
    1970 January
    ارسال ها
    16
    تشکر
    104
    تشکر شده 50 بار در 25 پست


    آيا اين پست براي شما سودمند بود؟ بله | خیر

    سوال در مورد بوت لودر و کرنل

    در پی دی اف توضیحات کلی:
    اینکه در مورد نوت پد و گرفتن یه فایل بهمراه نامش از کاربر و لود اون فایل
    (که در زمان بالا آمدن کرنل این کارها انجام میشه )صحبت کردید
    :
    کاربر میخواد رشته رو وارد کنه کجا وارد میکنه؟
    توی آرایه؟یا مثلا تعریف میکنیم:

    .MODEL SMALL.DATA STR1 DB 5 DUP(' '),'$' STR2 DB 5 DUP(' '),'$' NL DB 0DH,0AH,'$'.CODEMAIN PROC MOV AX,@DATA MOV DS,AX LEA SI,STR1 LEA DI,STR2 MOV AH,01HAGAIN: INT 21H CMP AL,0DH JE BAK MOV [SI],AL INC SI JMP AGAINBAK: MOV AL,'$' MOV [SI],AL MOV AH,09H LEA DX,NL INT 21H MOV CX,LENGTH STR1 ADD CX,1DOTHIS: DEC SI MOV AL,[SI] MOV [DI],AL INC DI LOOP DOTHIS MOV AL,'$' MOV [DI],AL MOV AH,09H LEA DX,NL INT 21H LEA DX,STR2 INT 21H MOV AH,4CH INT 21HMAIN ENDPEND MAINOUTPUT؟ البته این کد رو هم دقیق متوجه نشدم ؟؟؟؟؟

    نقل قول نوشته اصلی توسط farahani7 نمایش پست ها
    در پی دی اف توضیحات کلی:
    اینکه در مورد نوت پد و گرفتن یه فایل بهمراه نامش از کاربر و لود اون فایل
    (که در زمان بالا آمدن کرنل این کارها انجام میشه )صحبت کردید
    :
    کاربر میخواد رشته رو وارد کنه کجا وارد میکنه؟
    توی آرایه؟یا مثلا تعریف میکنیم:

    .model small.data str1 db 5 dup(' '),'$' str2 db 5 dup(' '),'$' nl db 0dh,0ah,'$'.codemain proc mov ax,@data mov ds,ax lea si,str1 lea di,str2 mov ah,01hagain: Int 21h cmp al,0dh je bak mov [si],al inc si jmp againbak: Mov al,'$' mov [si],al mov ah,09h lea dx,nl int 21h mov cx,length str1 add cx,1dothis: Dec si mov al,[si] mov [di],al inc di loop dothis mov al,'$' mov [di],al mov ah,09h lea dx,nl int 21h lea dx,str2 int 21h mov ah,4ch int 21hmain endpend mainoutput؟ البته این کد رو هم دقیق متوجه نشدم ؟؟؟؟؟
    البته نمیدونم چرا این کد موقع ثبت نظر اینطوری شد!!!!!! :o

    نقل قول نوشته اصلی توسط farahani7 نمایش پست ها
    نقل قول نوشته اصلی توسط farahani7 نمایش پست ها
    در پی دی اف توضیحات کلی:
    اینکه در مورد نوت پد و گرفتن یه فایل بهمراه نامش از کاربر و لود اون فایل
    (که در زمان بالا آمدن کرنل این کارها انجام میشه )صحبت کردید
    :
    کاربر میخواد رشته رو وارد کنه کجا وارد میکنه؟
    توی آرایه؟یا مثلا تعریف میکنیم:

    .model small.data str1 db 5 dup(' '),'$' str2 db 5 dup(' '),'$' nl db 0dh,0ah,'$'.codemain proc mov ax,@data mov ds,ax lea si,str1 lea di,str2 mov ah,01hagain: Int 21h cmp al,0dh je bak mov [si],al inc si jmp againbak: Mov al,'$' mov [si],al mov ah,09h lea dx,nl int 21h mov cx,length str1 add cx,1dothis: Dec si mov al,[si] mov [di],al inc di loop dothis mov al,'$' mov [di],al mov ah,09h lea dx,nl int 21h lea dx,str2 int 21h mov ah,4ch int 21hmain endpend mainoutput؟ البته این کد رو هم دقیق متوجه نشدم ؟؟؟؟؟
    البته نمیدونم چرا این کد موقع ثبت نظر اینطوری شد!!!!!! :o
    ولی خب کاری که میکرد این بود که یه رشته رو از کاربر میگرفت

    ویرایش توسط Hossein : 28th December 2012 در ساعت 01:13 PM دلیل: ترکیب پستها

  6. #6
    بنیانگذار
    تاریخ عضویت
    2010 January
    محل سکونت
    زیر سایه خدا
    سن
    33
    ارسال ها
    1,307
    تشکر
    2,923
    تشکر شده 2,205 بار در 886 پست
    نوشته های وبلاگ
    37


    1 امتياز مثبت از 1 راي
    آيا اين پست براي شما سودمند بود؟ بله | خیر
    سلام .
    فکر کنم خودتون جواب خودتون رو دادید ! برای دریافت رشته دستور و متن متغیرایی هستن بنام STR1 , و STR2 . لطفا آموزشهای قبلی رو بخونید این مطالب کاملا توضیح داده شدن (نمونه ساده اونها نوشته شده ) . البته این بخش ربطی به خود سیستم عامل نداره و مربوط به زبان اسمبلی میشه . نمونه هایی ازاین دست رو میتونید تو پروژه های موجود در بخش اسمبلی و بخش زبان ماشین انجمن پیدا کنید.

    برای اینکه کد بهم نریزه لطفا اون رو تو تگ مناسب قرار بدید . اینجا رو ببینید لطفا : چگونگی استفاده از سیتنکس هایلایتر برای قرار دادن کد
    و لطفا همیشه سعی کنید همه سوالهاتون رو در یک پست بپرسید . یعنی تا وقتی که کسی جوابی نداده و شما سوال تازه ای دارین پست اولتون رو ویرایش کنید و سوالهای جدیدتون رو به اون اضافه کنید .اینطوری باعث میشه مطالب تاپیک منسجم تر باشه و بیخود تاپیک صفحاتش زیاد نشه .

    توکل بخدا
    http://DeepLearning.ir
    اولین و تنها مرجع یادگیری عمیق ایران


    هرکس از ظن خود شد یار من
    از درون من نجست اسرار من




  7. #7
    عضو تازه وارد
    تاریخ عضویت
    1970 January
    ارسال ها
    16
    تشکر
    104
    تشکر شده 50 بار در 25 پست


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    چشم


 

 

کاربران برچسب خورده در این موضوع

کلمات کلیدی این موضوع

علاقه مندی ها (Bookmarks)

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  


Powered by vBulletin
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.6.0
Persian Language By Ustmb.ir
این انجمن کاملا مستقل بوده و هیچ ارتباطی با دانشگاه علوم و فنون مازندران و مسئولان آن ندارد..این انجمن و تمامی محتوای تولید شده در آن توسط دانشجویان فعلی و فارغ التحصیل ادوار گذشته این دانشگاه برای استفاده دانشجویان جدید این دانشگاه و جامعه دانشگاهی کشور فراهم شده است.لطفا برای اطلاعات بیشتر در رابطه با ماهیت انجمن با مدیریت انجمن ارتباط برقرار کنید
ساعت 10:58 PM بر حسب GMT +4 می باشد.