Vladimir
Скоро и легаси биос то похерят, интел грозился в 2020
Eugene
Да, слышал я об этом.
Vladimir
Если чисто для кодинга
Eugene
В смысле?
Vladimir
В смысле?
Ну файловая система есть, интерфейс к видеоподсистеме есть, хоть уëбищный, но и клавиатурный интерфейс есть.
Vladimir
А есть минимальная ОС, из которой можно запускать проги и пр?
Ну efi shell есть, в виртуалбоксе работает, можно проги запускать и тестить.
­
прикрутить внутрь fasm и можно кодить не отходя от кассы
Я, кстати, удивлён, что никто ещё IDE в UEFI не написал.
R
ну уефи это однозадачная ось с дровами
Aiwan \ (•◡•) / _bot
ну уефи это однозадачная ось с дровами
...работающая в защищенном режиме (х86/х64)
­
...работающая в защищенном режиме (х86/х64)
Угу, с первых же команд проц переводится в защищённый.
Eugene
Надо потестить, спасибо за инфу 😉
vi'talij
EAX x86 Register: Meaning and History
все правильно, кроме порядка регистров. надо: ax, cx, dx, bx,..
vi'talij
также упущено flags<->ah и psw<->ax.
vi'talij
некрасиво с 8008 сразу на 8086, минуя 8080, перепрыгивать.
Anonymous
почему в sse sse2 используется 2 в мнемонике что это означает к примеру cvtsi2ss cvtss2si cvtps2pi cvtpi2ps cvtsd2ss cvtss2sd cvtpi2pd cvtpd2pi
Anonymous
?
Anonymous
у меня есть догадки что 2 это double
Anonymous
не надо писать только зачем тебе это и запомни как должность лучше не пишите
Anonymous
:)
Anonymous
а может это означает количество используемых операндов
Anonymous
Понятно :) спасибо)
Aiwan \ (•◡•) / _bot
m2m
Eugene
почему в sse sse2 используется 2 в мнемонике что это означает к примеру cvtsi2ss cvtss2si cvtps2pi cvtpi2ps cvtsd2ss cvtss2sd cvtpi2pd cvtpd2pi
На мой взгляд, эти инструкции названы довольно бредово и неочевидно. Хрен поймёшь, что во что переводит. И хрен запомнишь, связь названий с типами весьма загадочная и неоднозначная.
Anonymous
Да нет всё понятно смотри
Anonymous
cvtsi2ss ; CVonverT Scalar Integer(int 4 bytes) 2(to) Scalar single(float 4 bytes)
Eugene
Не конкретно этих, а вообще всю группу если брать. Конкретно тут всё логично, но ща приведу пример...
Anonymous
всё просто на примитивном уровне
Anonymous
Давай
Eugene
CVTDQ2PD—Convert Packed Doubleword Integers to Packed Double-Precision Floating-Point Values CVTPI2PD—Convert Packed Dword Integers to Packed Double-Precision FP Values Угадай, в чём разница? :)) Первый работает с памятью или XMM во втором операнде. Второй — в памятью или MM во втором операнде.
Anonymous
Ну мультимедиа и что
Anonymous
Надо просто запомнить и всё
Anonymous
Да криво конечно
Anonymous
Но можно просто пользоваться не всеми а только тем набором который устраивает тебя вот и всё :)
Eugene
Ну понятно, что первый появился только в SSE2, когда второй (более логичный) был уже раньше. И пришлось вместо PI использовать DQ. Но опять же, есть CVTDQ2PS/PD, но нет CVTDQ2SS/SD. А вот в пару к CVTPI2PS/PD есть и CVTSI2SS/SD. Ну и CVTTxxxx тоже не полный набор... Хотя в SSE много таких приколов, когда есть, скажем, варианты инструкций для байтов и dword, но нет для word, что-то такое... Или когда умножение какое-то там есть только для word'ов. Ну типа того :)
Eugene
А вообще, из инструкций вот это мне больше всего нравится: GF2P8AFFINEINVQB :))
Eugene
Или PCLMULHQLQDQ или VSCATTERPF0QPD.
Anonymous
Или PCLMULHQLQDQ или VSCATTERPF0QPD.
А второй что делает?
Anonymous
У, там чота жутко специфичное
Anonymous
И оно вроде в AVX512
Aiwan \ (•◡•) / _bot
Надо потестить, спасибо за инфу 😉
у мя есть самопальный helloworld на fasm. надо?
𝐦𝐚𝐤𝐟𝐥𝐨𝐲
у мя есть самопальный helloworld на fasm. надо?
Ты мазурку на флопике смастери 😁
Aiwan \ (•◡•) / _bot
Ты мазурку на флопике смастери 😁
флопиков нет, да и места это все будет занимать прилично
Anonymous
лучше GEEK BINARY LIFESTYLE чем твой HELLO WORLD
Aiwan \ (•◡•) / _bot
Aiwan \ (•◡•) / _bot
#uefi
Aiwan \ (•◡•) / _bot
Anonymous
Я никогда не писал под uefi efi
Anonymous
Это прям тот efi.inc?
Aiwan \ (•◡•) / _bot
Я никогда не писал под uefi efi
не чуть не сложней чем писать простой PE
Anonymous
А почему PE?
Anonymous
Чем он им так пригляделся ?
Vladimir
в ефи на x86-64 при вызове служб важно не забывать выравнивать стек по границе 16 байт, в спецификации об этом ни полслова
Anonymous
Ага спасибо
Anonymous
А bochs поддерживает uefi?
Vladimir
А bochs поддерживает uefi?
хз. я virtualbox пользую, он хорошо поддерживает и 32 и 64 бита
Anonymous
Просто я вот насчёт vmware не знаю поддерживает ли он отладчик
Aiwan \ (•◡•) / _bot
А bochs поддерживает uefi?
я в VB тестил всю работу делал на флешку с неё же и запускался
Anonymous
А как дела обстоят с отладкой?
Vladimir
А как дела обстоят с отладкой?
виртуалбокс может плевать в виртуальный ком-порт в файлик
Aiwan \ (•◡•) / _bot
Это прям тот efi.inc?
какой тот? там структуры, сишные типы итд
Vladimir
Понятно windbg?
даже не знаю что это
Anonymous
Отладчик ядра
Aiwan \ (•◡•) / _bot
Понятно windbg?
виндбг это программа работающая в ОС. EFI это то что запускается до ОС
Anonymous
Да это понятно просто я думал может как то можно настроить его
Aiwan \ (•◡•) / _bot
А как дела обстоят с отладкой?
как вариант код писать под win,, отлаживать, а потом закидывать в efi
Anonymous
А это как сервисы же поддерживаются только в uefi?
Anonymous
Win не даст
Vladimir
А это как сервисы же поддерживаются только в uefi?
в смысле портировать на ефи уже отлаженный код
Anonymous
Нет как запускать сервисы в win
Anonymous
Вот есть код там я вызываю сервисы uefi мне win не даст их использовать