نمایش نتایج: از شماره 1 تا 7 از مجموع 7
Like Tree2نفر پسندیدند
  • 2 ارسال توسط Hossein

موضوع: كمك در ساخت آدمك و حركت آن توسط صفحه كليد

  1. #1
    عضو تازه وارد
    تاریخ عضویت
    2012 June
    ارسال ها
    4
    تشکر
    1
    تشکر شده 0 بار در 0 پست


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

    new كمك در ساخت آدمك و حركت آن توسط صفحه كليد

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

    موضوعات مشابه:

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


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    نقل قول نوشته اصلی توسط ansaralghaem نمایش پست ها
    سلام دوستان همون طور كه از تيتر تاژپيك معلومه من يه برنامه مي خوام كه يك آدمك چاپ بشه و توسط صفحه كليد حركت كنه . اين پرو‍‍ژه پايان ترمم هستش و خيلي هم عجله دارم . لطفا كمك كنيد
    سلام .
    به چه زبانی پروژتون رو شروع کردید ؟ و چقدرش رو رفتید و کجاش مشکل دارید ؟
    هرچقدر کار کردید اینجا قرار بدید و بگید کجاش رو مشکل دارید و گیر کردید تا راهنماییتون کنیم .

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


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




  3. #3
    عضو تازه وارد
    تاریخ عضویت
    2012 June
    ارسال ها
    4
    تشکر
    1
    تشکر شده 0 بار در 0 پست


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    سلام من برنامه با اسمبلی رو نوشتم به طرف راست وپایین حرکت میکنه خب پس برعکس دستور راست میشه چپ ام وقتی دستورات رو در محل چپ کپی میکنم که بر عکشون کنم هنگام کامپایل خطا میده یعنی اصلا اجرا نمیشه من نمی فهمم چرا ؟ کمکم کنید در قسمت get key قسمت چپ ;cmp ah, 4bh ; ; jz go_left رو غیر فعال راستی emulator نوشتم تو اسمبلی تازه واردم اینجا بد کپی میشه بیا اینجا
    سلام من برنامه رو نوشتم به طرف راست وپایین حرکت میکنه اما خب پس برعکس دستور راست میشه چپام وقتی دستورات رو در محل چپ کپی میکنم هنگام کامپایل خطا میده یعنی اصلا اجرا نمیشه من نمی فهمم چرا ؟ کمکم کنید

    ;HELLO WORLD SAMPLE!
    ;STANDARD HEADER:
    #MAKE_COM#
    ORG 100H
    JMP START
    DOLLAR EQU '$'

    MSG DB " () ",DOLLAR
    MSG1 DB " ||",DOLLAR
    MSG2 DB " /\",DOLLAR

    CLEARSCREEN MACRO COLOR
    MOV AX , 0600H
    MOV BH , COLOR
    MOV CX , 0000H
    MOV DX , 204FH
    INT 10H
    ENDM
    ;;

    START:
    ; WAIT FOR ANY KEY....
    PUSH DX
    PUSH BX
    PUSH CX
    CLEARSCREEN 6
    POP CX
    POP BX
    POP DX
    ;SAR
    MOV AH,02
    INC CL
    INC DL
    ;MOV DL,CL
    INT 10H
    PUSH DX
    LEA DX, MSG
    MOV AH, 9
    INT 21H
    POP DX
    ;TANE
    PUSH DX
    MOV AH,02
    INC CL
    INC DH
    INC DL
    ;MOV DL,CL
    INT 10H

    PUSH DX
    LEA DX, MSG1
    MOV AH, 9
    INT 21H
    POP DX
    ;;;PA


    MOV AH,02
    INC DH
    ;INC DL
    ;MOV DL,CL
    INT 10H

    PUSH DX
    LEA DX, MSG2
    MOV AH, 9
    INT 21H
    POP DX
    POP DX
    GET_KEY:
    MOV AH, 00H
    INT 16H

    CMP AH, 48H
    JE GO_UP

    CMP AH, 50H
    JZ GO_DOWN

    ;CMP AH, 4BH
    ; JE GO_LEFT

    CMP AH, 4DH

    JZ GO_RIGHT

    ;GO_UP
    GO_UP:

    JMP GET_KEY

    ;GO_DOWN:
    GO_DOWN:


    PUSH DX
    PUSH BX
    PUSH CX
    CLEARSCREEN 6
    POP CX
    POP BX
    POP DX
    ;SAR

    MOV AH,02


    INC DH
    PUSH DX
    DEC DL

    INT 10H
    POP DX
    PUSH DX
    LEA DX, MSG
    MOV AH, 9
    INT 21H
    POP DX
    ;TANE
    PUSH DX
    MOV AH,02

    INC DH
    ;INC DL
    INT 10H
    PUSH DX
    LEA DX, MSG1
    MOV AH, 9
    INT 21H
    POP DX
    ;PA
    PUSH DX
    MOV AH,02

    INC DH

    INT 10H
    PUSH DX
    LEA DX, MSG2
    MOV AH, 9
    INT 21H
    POP DX
    POP DX
    JMP GET_KEY
    ;GO RIGHT

    GO_RIGHT:
    ;CLEAR
    PUSH DX
    PUSH BX
    PUSH CX
    CLEARSCREEN 6
    POP CX
    POP BX
    POP DX
    ;SAR
    MOV AH,02
    INC CL
    INC DL
    ;MOV DL,CL
    INT 10H
    PUSH DX
    LEA DX, MSG
    MOV AH, 9
    INT 21H
    POP DX
    ;TANE
    PUSH DX
    MOV AH,02
    INC CL
    INC DH
    INC DL
    ;MOV DL,CL
    INT 10H

    PUSH DX
    LEA DX, MSG1
    MOV AH, 9
    INT 21H
    POP DX
    ;;;PA


    MOV AH,02
    INC DH
    ;INC DL
    ;MOV DL,CL
    INT 10H

    PUSH DX
    LEA DX, MSG2
    MOV AH, 9
    INT 21H
    POP DX
    POP DX
    JMP GET_KEY
    ;GO_LEFT



    GO_LEFT:


    JMP GET_KEY

    ;END
    ;EXIT TO OPERATING SYSTEM:
    MOV AH, 4CH
    INT 21H



    ویرایش توسط Hossein : 3rd June 2012 در ساعت 12:15 AM

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


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    لطفا کدهاتون رو بین تگ مناسب قرار بدین از این به بعد . اینطور خوندنش راحت تره .
    در مورد اجراش شما تو چه محیطی اجراش میکنید ؟ و چه اروری دریافت میکنید ؟

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


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




  5. #5
    عضو تازه وارد
    تاریخ عضویت
    2012 June
    ارسال ها
    4
    تشکر
    1
    تشکر شده 0 بار در 0 پست


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    نقل قول نوشته اصلی توسط Master نمایش پست ها
    لطفا کدهاتون رو بین تگ مناسب قرار بدین از این به بعد . اینطور خوندنش راحت تره .
    در مورد اجراش شما تو چه محیطی اجراش میکنید ؟ و چه اروری دریافت میکنید ؟
    سلام از emu8086 استفاده میکنم و ارور condition jump out Of range میده تورو خدا زود کمکم کنید وقتی واسم نمونده


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


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    نقل قول نوشته اصلی توسط ansaralghaem نمایش پست ها
    سلام از emu8086 استفاده میکنم و ارور condition jump out Of range میده تورو خدا زود کمکم کنید وقتی واسم نمونده
    دلیل ارورت بخاطر اینه تو جامپ شرطی نمیتونی بیشتر از 128 بایت بپری ! محدودیت داری . ( هر دستوری که مینویسی یک یا چند بایت اشغال میکنه پس اگه بین یک جامپ شرطی مثل je یا ja و امثالهم کلی دستور نوشته شده باشه که جمعا از 128 بایت بزنه بالاتر دیگه دستور جامپت کار نمیکنه . این هم محدودیت در حالت بلادرنگ هست )
    برای اینکه مشکل پرشت حل بشه میتونی تو دو مرحله این کار رو انجام بدی .
    یعنی اول بپری به یه مکان نزدیک تر و بعد از اونجا jmp کنی به جای اصلی که مد نظرت هست .
    فرض کن دستوراتت مثل زیر هست و ارور جامپ میگیری :

    CMP AX,DX
    JE MAKANE_ASLI
    ADD AX,CX
    ....;
    ;KOLI DASTOR DIGE
    ...;
    KOLI DASTORE DIGE
    ...;

    ;TA BE KHAD BE INJA BERESE ERROR MIDE
    MAKANE_ASLI:
    DASTORATE MOREDE NAZARE KHODET


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

    CMP AX,DX
    JE NEAR
    ADD AX,CX
    ....
    ;KOLI DASTOR DIGE

    NEAR:
    JMP MAKANE_ASLI
    ...
    KOLI DASTORE DIGE
    ...;

    MAKANE_ASLI:
    DASTORATE MOREDE NAZARE KHODET


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

    من امشب دارم میرم پادگان و تا دو هفته دیگه انشاالله دوباره برگردم نیستم . در غیاب من میتونید از دوستانی مثل @MoJTaBa و @pouya.d کمک بگیرید .
    (آقا پویا و آقا مجتبی لطفا هر کمکی از دستتون بر اومد و وقتتون اجازه داد از این دوستمون دریغ نکنید )
    در پناه حق

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


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




  7. #7
    عضو تازه وارد
    تاریخ عضویت
    2012 June
    ارسال ها
    4
    تشکر
    1
    تشکر شده 0 بار در 0 پست


    آيا اين پست براي شما سودمند بود؟ بله | خیر
    باتشکر از شما دوست عزیز emu باورژن بالاتر رو دریافت کردم مشکل حل شد


 

 

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

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

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

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

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


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