تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 5 از 5

نام تاپيک: با چه دستوري مي تونم تو 8051 دو عدد را با هم مقايسه كنم؟

  1. #1
    در آغاز فعالیت
    تاريخ عضويت
    Aug 2006
    پست ها
    14

    2 با چه دستوري مي تونم تو 8051 دو عدد را با هم مقايسه كنم؟

    با سلام خدمت دوستان
    يه مشكلي پيدا كردم تو 8051 كه اميدوارم راهنماييم كنيد
    با چه دستوري مي تونم دو عدد را با هم مقايسه كنم به طوري كه بفهمم با هم مساوي اند يا كدوم از ديگري بزرگتر يا كوچكتره؟

  2. #2
    داره خودمونی میشه
    تاريخ عضويت
    Oct 2006
    پست ها
    38

    پيش فرض

    اگر منظورتون به زبان اسمبلی هست با دستور cjne اینکار انجام میشه.
    به این شکل که
    مثلا شما میخواهید X و Y را با هم مقایسه کنید
    و اگر X بزرگتره تابع X_Proc اجرا بشه و اگر Y بزرگتره تابع Y_Proc اجرا بشه و اگر با هم مساوی هستند تابع XTOY اجرا بشه.
    دستورش میشه این
    CJNE X , Y , NAMOSAVI
    CALL XTOY
    SJMP MOSAVI
    NAMOSAVI:
    JC CLX
    CALL Y_Pros
    SJMP MOSAVI
    CLX:
    CALL X_Pros
    MOSAVI:
    lبا این مثال میتونی یاد بگیری (اگر تو بقیه دستوراتش مشکل پیدا نکنی).

  3. #3
    در آغاز فعالیت
    تاريخ عضويت
    Aug 2006
    پست ها
    14

    پيش فرض خيلي ممنون از جوابت ولي . . .

    نقل قول نوشته شده توسط Iran-PC
    اگر منظورتون به زبان اسمبلی هست با دستور cjne اینکار انجام میشه.
    به این شکل که
    مثلا شما میخواهید X و Y را با هم مقایسه کنید
    و اگر X بزرگتره تابع X_Proc اجرا بشه و اگر Y بزرگتره تابع Y_Proc اجرا بشه و اگر با هم مساوی هستند تابع XTOY اجرا بشه.
    دستورش میشه این
    CJNE X , Y , NAMOSAVI
    CALL XTOY
    SJMP MOSAVI
    NAMOSAVI:
    JC CLX
    CALL Y_Pros
    SJMP MOSAVI
    CLX:
    CALL X_Pros
    MOSAVI:
    lبا این مثال میتونی یاد بگیری (اگر تو بقیه دستوراتش مشکل پیدا نکنی).
    خيلي ممنون از جوابت و واقعاً بهم كمك كردي ولي يه جايي رو نمي فهمم. تو خط پنجم دستور چرا از jc استفاده كرديمو آخه ما كه كاري به C نداريم پس چه چرا ازش استفاده مي كنيم؟و x و y چه ربطي به C دارند؟ يه عمر ممنون ميشم اگه جواب بديد

  4. #4
    داره خودمونی میشه
    تاريخ عضويت
    Oct 2006
    پست ها
    38

    پيش فرض

    سلام.
    ما (در این دستور) کاری به C که یک بیت کنترلی هست نداریم و این بیت رو سی پی یو پس از اجرای دستور تغیر میده .
    اگر c 1 بود یعنی عدد اولی شرط بزرگتره و اگر c صفر بود یعنی عدد دومی شرط بزرگتره و اگر هم مساوی باشند به آدرسی که در انتهای دستور بهش اشاره شده پرش میکنه.
    X و Y اینجا یک مثال بودند .

  5. #5
    در آغاز فعالیت
    تاريخ عضويت
    Aug 2006
    پست ها
    14

    پيش فرض

    ممنون مرسي

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •