Привет. Видел и сам так делал: neg reg // lea reg,[reg...]. Дома 512 МБайт памяти. Если запустить на карте с двумя гигабайтами, возможен облом? Следует избегать neg, not?
Не обращаются. К примеру слаживаю адрес: (neg или not числа_большего_2_гиг) + число. А еще бы хотелось инструкцию xsub, нужа она?
Имелось ввиду сложение адреса после neg // not - получится ли валидный потом. Теоретически Разобрался: любое число, описуемое неким количеством бит, можно вычесть от ноля(neg). При этом может выйти знаковое переполнение, но сложение такого результата с другим числом(считаемое беззнаковым) дает правильный результат(считаемый беззнаковым): Код (Text): CPU Disasm Address Hex dump Command Comments 00401007 B8 FFFFFFFF mov eax,-1 ; изначальное 0040100C BB FEFFFFFF mov ebx,-2 ; любое число 00401011 F7DB neg ebx 00401013 01D8 add eax,ebx ; конечное
Блин, чел, без обид, но ты зарегался на вазме чуть больше, чем год назад, написал за это время 400 сообщений(а это по одному в день) и до сих пор не представляешь виртуальную адресацию в видовозе? О чем жеж ты тогда писал и что мог тут читать о_О ? Не, ну просто такие вопросы один раз читаются в msdn\ddk\google, причем лучше всего перед тем как писать код =) и больше никогда они не всплывает в жизни =(