Определение типа в Assembler.

Тема в разделе "WASM.BEGINNERS", создана пользователем rza, 8 май 2010.

  1. rza

    rza New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2009
    Сообщения:
    21
    Есть процедура в которую передается некий параметр.
    Параметр может содержать либо число либо адрес на структуру.
    Подскажите идею как определить что именно передалось?

    (Идею кроме как ввести дополнительный параметр)

    Assembler.
     
  2. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    платформа? диапазон изменения числа?
     
  3. rza

    rza New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2009
    Сообщения:
    21
    платформа - Платформа это что? Винда или Linux? Если да то Windows.
    Число любое, может быть и похоже на адрес.
     
  4. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    тогда никак.
    только в случае, если число умещается в 31 бит, то можно старший бит юзать как идентификатор того, что передано число
     
  5. rza

    rza New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2009
    Сообщения:
    21
    ОК. Понял. спс.
     
  6. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Обычно структуры выравниваются в памяти, тогда можно использовать младшие биты как флаги. А в общем адрес это тоже число.
     
  7. edemko

    edemko New Member

    Публикаций:
    0
    Регистрация:
    25 ноя 2009
    Сообщения:
    454
    flags.cf = вкл/выкл
    в вызываемой процедуре jc,jnc,cmc,cmovc,cmovnc,rcr,rcl,setc,setnc,salc
     
  8. rza

    rza New Member

    Публикаций:
    0
    Регистрация:
    11 июн 2009
    Сообщения:
    21
    Попробую с флагами.