Здравствуйте, Заинтересовал асм для IA-64, но вот чем же компилить ? Почитал по форумах и ничего внятного по теме не нашел. Вобщем помогите компилером Спасибо
Вот уже один нашел в Platform SDK 2003, называется Ias.Exe и лежит в папке Win64. Теперь вот думаю примеров накопать. Может и отдельный форум открыть по Win64 ? И опенсорсовый нашел на Intel developer В нем 2 примера есть (Max и Demo), компилятся Ias.Exe и нормально линкуются. Теперь может кто ссылки на примеры даст ?
Пожалуйста поидйте к ---- http://www.cpuid.com/K8/index.php Вы смог бы увидеть нескодько примеров...к концу этей страницы... Желаю хорошых успехов программирования... Gerard ( Жерар ) ----------------- ( Не под дождём -- подождём )
gerard, правильнее говорить: "Желаю успехов в программировании." или "Желаю больших успехов в программировании."
gerard Там пример для x86-64 а не IA-64. Хотя в массы скоро активно пойдут именно x86-64 процессоры, а итаниумы это дохлый номер, при такой огромной цене производительность ниже, чем у тех же Xeon'ов и Opteron'ов, да ешё и несовместимость с большинством программ, кому они нужны такие?
Asterix Привалов в интервью сказал, что он вроде если и будет выпускать FASM64, то он будет вроде как платным.Хотя можно наверно будет и самим поправить до 64, или хотя бы в виде макросов реализовать.
Гкхм... объясните плз различие между x86-64 и IA-64... Неужели интелловцы будут продолжать эту утомительную эпопею с совместимостью?
2sep Единственное что могу вам посоветовать - скомпилируйте отдельный .obj и передайте ему адрес MessageBox из Cшной проги. Я подозреваю что MS использует здесь не адрес а PLABEL_DESCRIPTOR, из которого вы должны получить сам адрес и валидное для вызываемой API значение gp. Ну если занудно - проделайте сами то же для ia64 что Hutch сделал для masm32. Сишные либы для win64 есть в sdk.
Inked Wedge Из одинакового в этих архитектурах только разрядность IA-64 это уже RISC самый настоящий (128 целочисленных регистров, 128 регистров с плавающей запятой и т.д.), а у x86-64 (что и видно из названия) просто существующие регистры расширили до 64 бит и добавили еще 8 регистров.
Ну да, без либов только такой идиотский вариант: Код (Text): MB_OK = 0 .sdata .align 8 lpText: stringz "blabla" lpCaption: stringz "blabla" .text .proc main .global main .align 32 // input param: PLABEL_DESCRIPTOR* main: alloc loc2 = ar.pfs, 0, 4, 4, 0;; mov loc3 = b0 add out0 = r0,r0 //hWnd addl out1 = @gprel(lpText),gp addl out2 = @gprel(lpCaption),gp add out3 = MB_OK, r0 //uType mov loc1 = gp ld8 r15 = [loc0], 8;; ld8 gp = [loc0] mov b6 = r15;; br.call.sptk.many b0 = b6;; mov gp = loc1 mov ar.pfs = loc2 mov b0 = loc3,0 br.ret.sptk.many b0;; .endp //:)))
Valery Интел мне нравится и с асмом 64 я разбираюсь и дальше, просто мнение свое высказал на счет простоты
да нет IAS скорее неудобный чем страшный) а вообще мой совет - бросайте это дело. толку от итаниума немного.
Valery Толку немного потому что дорого или почему-то еще ? Я так понял, что это чисто серверная платформа