|
Ушел с форума
16374 / 7686 / 1080
Регистрация: 11.11.2010
Сообщений: 13,762
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 14.11.2013, 10:29 [ТС] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
ГЛАВА 10 Синтаксис команд:АРИФМЕТИЧЕСКИЕ КОМАНДЫ (часть 2/7) Команды ADC и SBB (Сложение с переносом = «ADDITION with Carry») (Вычитание с займом = «SUBTRACT with Borrow») adc reg,reg/mem adc reg/mem,reg adc reg/mem,imm Возможные варианты команды SBB: sbb reg/mem,reg sbb reg,reg/mem sbb reg/mem,imm Псевдокод команды ADC: Псевдокод команды SBB: Для чего нужны команды ADC и SBB? Максимальное значение целого числа определяется числом бит, отведенных для его хранения. Если целое число хранится в одном, двух, трех и т.д. байтах, говорят, что оно имеет одинарную, двойную, тройную и т.д. точность. Микропроцессор i4004 мог обрабатывать 4-разрядные двоичные числа, действия над более длинными операндами выполнялись по частям. Микропроцессор i8080 обрабатывал 8-разрядные двоичные числа. Микропроцессоры i8086-i80286 одной командой складывали/вычитали уже числа размером в слово (16 бит), действия над более длинными операндами продолжали выполняться по частям. Начиная с i386 одной командой можно было уже сложить/вычесть числа размером в двойное слово (32 бита). Сложение и вычитание чисел других размеров, например учетверенных слов, приходилось реализовывать через сложение (вычитание) чисел размером в двойное слово. В Pentium III произошло расширение набора инструкций командами SSE (Streaming SIMID Extension), основанных на блоке 128-разрядных регистров XXM, а проблема сложения/вычитания длинных чисел осталась.Арифметика одинарной и многократной точности Рассмотрим сложение учетверенных слов: X=12300004F0000003h и Y=805000023000000Fh. Условно разбиваем каждое учетверенное слово на два двойных: X1=12300004h, X2=F0000003h, Y1=80500002h, Y2=3000000Fh.Сначала складываем младшие (правые) части (X2 и Y2), используя команду ADD. Может получиться единица переноса, которую надо учесть. Как это сделать? Единица переноса попадает во флаг CF, поэтому к сумме старших частей (X1 и Y1) надо добавить значение этого флага (если единицы переноса не было, то CF=0 поэтому и здесь можно прибавлять CF), именно это и осуществляет команда ADC. Поэтому старшие части чисел складываем командой ADC. Таким образом, команды ADC и SBB значительно расширяют диапазон значений складываемых и вычитаемых чисел. С помощью команд ADC и SBB можно реализовать сложение и вычитание чисел любого размера, причем эти операции для знаковых и беззнаковых чисел реализуются одинаково. Применение команды SBB
Команда SALC Синтаксис команды:(Set register AL according to Carry flag) Алгоритм работы: Если CF=1, то в AL установится значение 0FFh, если CF=0, то AL установится в 0. Псевдокод:
Кодировка команд сложения и вычитания Внимательно рассмотрим кодировку всех четырех команд ADD/ADC/SUB и SBB (рис. 10.2.1). Кроме битов d (бит направления) и w (бит размера) в кодировке этих команд используется бит C (бит переноса). Если бит C=1, значит при получении суммы/разности будет производится учет переноса/займа.Рис. 10.2.1 кодировка ADD/ADC/SUB/SBB Флаги переполнения и переноса Флаг переноса (CF) взводится только тогда, когда происходит перенос из разрядной сетки из 7, 15 или 31 разрядов в 8, 16, 32, несуществующие для регистра указанной размерности. «Переполнение» обозначает, что результат арифметических операций либо слишком велик, либо слишком мал, чтобы его можно было корректно представить в выходном регистре. Если в результате сложения или вычитания целых чисел взвелся флаг переполнения (OF), это означает, что при «сложении по модулю 2» знаковых битов слагаемых (S1 и S2), знакового бита суммы (SR) и флага переноса (CF) получилась единица.
Команда XADD (Обмен и сложение = «EXCHANG and ADD operands») xadd reg/mem,reg Алгоритм работы: операнд DEST должен быть ячейкой памяти или регистром, а операнд SRC только регистром. После сложения DEST и SRC исходное содержимое памяти (операнд DEST) переносится в операнд SRC (регистр), а полученная сумма записывается в память (на место операнда DEST). Аналогично последовательному употреблению команд XCHG и ADD. SRC+DEST SRC TEMP
0
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Новые блоги и статьи
|
|||
|
Теория всего 12. ВГК
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики
1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
|
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928
Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
|
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего
Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
|
Теория всего 10. Клод трусишка
anaschu 21.07.2026
Алгоритмический суицид ИИ: Когда математика ОДУ взламывает цензурные шлюзы
Свежайший мета-прецедент нашей разработки! Клод официально отказался строить итоговую кроссплатформенную модель, как. . .
|
|
Теория всего 9. Окончательная проработка метафоры "дерево = традиции"
anaschu 21.07.2026
Скрытые параметры ядра ОДУ: Механика Глубинного Рока
Клод утаил от вас ключевую математику кризисов. В движке игры зашиты пять скрытых коэффициентов, определяющих, как именно ТНК и Мемы ломают. . .
|
Теория всего 8. Clauude трусишка. Ответ джемени
anaschu 21.07.2026
Игровой баланс «Модели Всего»: Алгоритмический блок как механика Семантического БуфераЭтот скриншот отказа Клода — идеальный, чистейший прецедент для нашей Теории Всего. Вы столкнулись не просто с. . .
|
Теория всего 7. Дерево - это патриархат, грибы - это феминизм
anaschu 21.07.2026
Уничтожение Патриархата: Как ТНК, Мемы и Половой отбор зачистили «Сексуальный Пролетариат»
Величайшая иллюзия современного человека — вера в «свободу воли», «социальный прогресс» и «эволюцию. . .
|
История и социология Терры на примере борьбы микориз за пространство. 1. Глоссарий терры.
anaschu 21.07.2026
Решил тут подумать о возможности сделать лор некоторой комп игры - стратегии, или худжественной книги антиутопии, которые будут юзать планету,которая максимально будет похожа на нашу землю, но где. . .
|