TSS_1: .... dd TSS_1 так не проще? предполагается что модель памяти flat, хотя можно вычесть базовый адрес сегмента если надо.
flat model чем не устроила? в x86-64 от TSS толку мало, да и тем более модель памяти там только плоская.
первый правильный, второй нет :D правильно так: DWORD val = *reinterpret_cast<DWORD *>(addr)
первые 8 аппаратных прерываний в режиме реальной адресации начинаются с 8 вектора.
у нас что в стеке только 0x40 указателей? просто надо ещё rsp выравнить тоесть sub a_sp, (0xXXXX + ptr_size - 1) & ~(ptr_size - 1)
* push ebp
_main: ifdef _BITS64 push rbp mov rbp, rsp sub rsp, 0x100 else mov ebp mov ebp, esp sub esp, 0x100 endif .... leave ret
речь шла не о языке ассемблере x86, а об исходном коде ассемблера.
YASM бесплатный, дописанный NASM и поддерживает 64-bit code(long mode), AMD SSE5, INTEL AVX(и больше не один ассемблер(за исключением моего в...
жив, но мне кажется что последняя версия YASM лучше(из за набора инструкций, хотя скорость ассемблирования намного меньше).
в каком своём? у него даже опции такой нету.
есть, но он не кросс-платформенный. ну и число поддерживаемых инструкций у YASM & FASM будет больше.
YASM будет лучше, потому что у него есть возможность создания отладочной информациии.
жду замечаний и предложений. хорошо если кто-нибудь найдётся и составит маленький manual по директивам, если ни кто не найдётся посже сам сделаю.
вышла новая версия ассемблера 1.0 +существуют версии для следующих платформ: Linux32, Win32 +добавлена полная поддержка AMD SSE5, Intel...
конечно к компилятору, но он же входит в среду разработки VS.
да много там чего не так, C99 не поддерживается, в RTL баги есть.
получается два объектных файла с одинаковым именем. в опциях для конкретного файла(Custom build) выбери другое имя для выходного *.OBJ.
естественно и в instruction set SSE5 надо ещё добавить, просто первое место сейцас занимает C/C++ compiler & C/C++ RTL, также этот продукт входит...
Имена участников (разделяйте запятой).