Ув. профи Скажите как организовывается наложение типов в FASM-e? Допустим у меня массив N- байт, может быть структурой 2 видов, при получении данных мне необходимо выяснить(по сигнатуре конечно), что это за тип. Т.е. как в Tasm-e И еще один вопрос, кто-нибудь пытался создать MS COFF файл и подключить его к проекту? Попытка подключить объектник к Паскалю не увенчался успехом Паскаль сказал, что формат файла ему не понятен... Может чего я не правильно делаю...
cmp [eax], "sign" jne @F virtual at eax strct TYPE1 end virtual @@: virtual at eax strct TYPE2 end virtual Вроде так
Всё верно говорит, ведь получаемый объектный файл имеет формат COFF, в то время как Borland понимает только OMF. Попробуйте эту утилиту.
Код (Text): cmp [eax], "sign" jne @F virtual at eax strct TYPE1 end virtual @@: virtual at eax strct TYPE2 end virtual Может, вы слишком упростили, потому что по сути получилось так: Код (Text): cmp [eax], "sign" jne @F @@: Если типы простые, то можно так: Код (Text): a db 4 dup 0 label b dword at a Если сложные, то так: Код (Text): a db 4 dup 0 virtual at a b STRUC1 end virtual
Код (Text): your_tupe1 struc your_ID1_value dd your_data1 ... your_tupe1 ends your_tupe2 struc your_ID2_value dd your_data2 ... your_tupe2 ends lea ESI,array mov EAX,(your_tupe1 ptr [ESI]).your_ID1_value cmp EAX,value je mov EDX,(your_tupe2 ptr [ESI]).your_data2 jmp exit t1: mov EDX,(your_tupe1 ptr [ESI]).your_data1 както так в черновом варианте fireman вы знаете, что такое coff формат ??? этот формат предназначен для приложений win32 которые представляют собой аналог tiny модели для 32 битном защищенном режиме - flat, если выкинуть все навороты импорта и экспорта dll и ресурсы и сократить до 16 бит то получится старый добрый .com файл для дос