اطلاعیه

Collapse
No announcement yet.

تبدیل کد اسکی دسیمال به کاراکتر مربوطه! بیسیک یا اسمبلی

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    تبدیل کد اسکی دسیمال به کاراکتر مربوطه! بیسیک یا اسمبلی

    سلام دوستان .
    من میخام کد اسکی دسیمالی که دارم (مثلا 70 که در واقع همون معادل کاراکتر F هست ) به کاراکتر مربوطه اش ( یعنی F ) تبدیل کنم .
    دوستان آیا توبیسیک چنین دستوری هست .
    اکه تو اسمبلی هم باشه دستوراتش چیه .
    آیا میشه مستقیم عدد 70 اسکی رو به معادل هگز کاراکتر F که در واقع 15 هگز هست تبدیل کرد ؟
    ممنون از همتون .
    http://www.sharjweb.com/

    #2
    پاسخ : تبدیل کد اسکی دسیمال به کاراکتر مربوطه! بیسیک یا اسمبلی

    سلام مجدد.
    من از این روش استفاده کردم .
    اما می خوام شما یه روش کوتاه تر پیشنهاد بدید .
    ممنونم.



    dim arr(255) as word
    Get #ff , Arr(x) , Le , Count
    Close #ff
    L = Low(arr(x))
    H = High(arr(x))
    Chlow = Chr(l)
    Chhigh = Chr(h)
    D = Hexval(chlow)
    E = Hexval(chhigh)
    D = D * 16
    F = D + E
    http://www.sharjweb.com/

    دیدگاه


      #3
      پاسخ : تبدیل کد اسکی دسیمال به کاراکتر مربوطه! بیسیک یا اسمبلی

      من میخوام دیتا رو از mmc که به صورت اسکی هست به معادل هگز آن تبدیل کنم .البته نه این که معادل هگز عدد موجود در خونه های mmc .
      توضیح بیشتر : من حرف F رو تو mmc ذخیره کردم .
      معادل اسکی دسیمال این حرف 70 هست . و نیز معادل اسکی هگز اون هم 46 هست .
      اما من میخوام معادل اون حرف (F) رو که 15 هگز هست بدست بیارم .
      لطفا کمکم کنید. :rolleyes: :rolleyes:
      http://www.sharjweb.com/

      دیدگاه


        #4
        پاسخ : تبدیل کد اسکی دسیمال به کاراکتر مربوطه! بیسیک یا اسمبلی

        البته من بیسیک کار نیستم ولی فکر کنم راحتترین کار (و نه سریع ترینش) استفاده از یک lookup باشه. فقط دقت کنین که حروف خونده شده حروف بزرگ باشن. آخرش میتونین با دستور $CHR عدد محاسبهع شده رو به معادل کاراکتری اش تبدیل کنین.

        در اسمبلی کار یه کمی راحتتره:
        اول مطمئن بشین که کاراکترتون حرف بزرگه. برای اینکار بطور کور میشه کاراکتر رو با 0xdf بصورت بیتی and کرد.
        بعد فرض کنین کاراکتر بین "0" تا "9" هست پس بیاین یک 48 ازش کم کنین اگر مقدار نهایی از 9 بیشتر بود باز هم یک 7 ازش کم کنین:


        chr_to_hex: // r24 = character to convert
        andi r24,0xdf
        subi r24,0x30
        cpi r24,10
        brlo .L1
        subi r24,7
        .L1: ret

        دیدگاه

        لطفا صبر کنید...
        X