Можно так: cmp byte [sse_addr-1],lock je ;уход на ветку где все команды с префиксами lock, или крит. секция
Забыл написать. ОС FreeBSD7(amd64). Отлаживаю: GDB+qemu, GDB+ddb.
Вопрос. Как в GDB посмотреть системные регистры (cr, dr и др.) ?
Обменять местами старшие биты Y и младшие X. Если так, то: ;edx = X ;ebx = Y ;cl = N mov eax,edx shr edx,cl shld...
Что значит крайние, старшие или младшие биты ?
Можно попробовать "rdtsc". rdtsc mov ecx,eax ;----------- mov edx,X mov ebx,Y shr edx,cl shld edx,ebx,cl
;edx = X ;ebx = Y ;cl = N shr edx,cl shld edx,ebx,cl
Проверил с помощю rdtsc (по тыс. инстр.). В 64-битном режиме у inc i dec лучшее время. rdtsc shl rax,32 shld rdx,rax,32 mov...
.....не актуально.
Я имел ввиду метку, где обработать переполнение. Нет это fasm.
Или так. mov esi,Buf xor ecx,ecx @@: test byte[esi+ecx],0ffh jz @f inc ecx jmp @b @@: cmp ecx,129 jae Overflov
Ещё один вариант. Если изначально надо знать длину текста в 129 байтовом буфере(fasm): Buf db 'text',0 l_Buf=$-Buf db 129-($-Buf) dup (0) Или...
Вот про REX префикс недавно переводил. 3-ий том amd. 1.2.7 Перфиксы REX. "REX - префисы" - это группа префиксных байт, которые используется...
Про IA-32 на русском "Assembler. Специальный справочник" Юрова. Про amd64 на руском кроме статей ничего не находил. Лучший вариант - справочник...
Может быть так (вариант для fasm) ? db 4096 dup (92h,49h,94h)
Имена участников (разделяйте запятой).