Другие языки программирования и технологии
Выполнение команд ассемблера в МП
Подскажите пожалуйста книгу или сайт, где бы было подробно расписано выполнение команд Ассемблера в процессоре, т.е. что за чем следует, какие ргеистры изменяются и как и т.п. или просто хотябы общая схема выполнения команд P.S. особо интересуют JNGE, SUB и LOOP
JNGE - Переход по условию - если не больше или не равно (числа со знаком) предполагается что перед командой было какое-то сравнение чисел.. .
SUB - определение разности двух целых чисел. sub ax,bx -> ax = ax - bx
LOOP - уменьшение CX на единицу и если CX <> 0 - переход например:
mov ax, 1
mov cx, 2
Label:
shl ax,1
loop Label
2 раза выполнится сдвиг разряда влево в регистре ax. ax = 4.
обзаведись книжкой со справочником - удобно.
SUB - определение разности двух целых чисел. sub ax,bx -> ax = ax - bx
LOOP - уменьшение CX на единицу и если CX <> 0 - переход например:
mov ax, 1
mov cx, 2
Label:
shl ax,1
loop Label
2 раза выполнится сдвиг разряда влево в регистре ax. ax = 4.
обзаведись книжкой со справочником - удобно.
JNGE - это команда условного перехода по условию "меньше", которое создается при сравнении регистров, например, командой CMP. Регистры при этом не меняются, а происходит, или не происходит, переход на указанный в команде адрес. Проверяется, что флаги OF и SF должны быть разными, в одном 0, в другом 1.
SUB - это команда вычитания одного регистра из другого, или числа из регистра, при этом устанавливаются флажки CF, AF, SF, ZF, PF, OF в соответствии с результатом операции. Причем флажки CF и AF становятся флажками заема и устанавливаются в 1, если вычитаемое больше уменьшаемого.
LOOP - это команда окончания цикла. Производит декремент регистра CX и, если CX не равен 0, происходит
переход к началу цикла.
Что происходит в процессоре - ясно из описания команд. Например, при условном переходе, проверяются флажки, и если они стоят как надо, регистр адреса РС меняется на новый адрес, и происходит передача управления.
SUB - это команда вычитания одного регистра из другого, или числа из регистра, при этом устанавливаются флажки CF, AF, SF, ZF, PF, OF в соответствии с результатом операции. Причем флажки CF и AF становятся флажками заема и устанавливаются в 1, если вычитаемое больше уменьшаемого.
LOOP - это команда окончания цикла. Производит декремент регистра CX и, если CX не равен 0, происходит
переход к началу цикла.
Что происходит в процессоре - ясно из описания команд. Например, при условном переходе, проверяются флажки, и если они стоят как надо, регистр адреса РС меняется на новый адрес, и происходит передача управления.
Похожие вопросы
- Изучение системы команд Ассемблера. Подпрограммы и прерывания. Помогите с задачами
- С помощью команд fpu вычислить площадь круга, исходя из введѐнного диаметра. Ассемблер...
- Ассемблер. При выполнении серии умножений происходит переполнение EAX.
- Что может ассемблер?
- МП i8080 Ассемблер. Деление на 3
- Почему многие программисты ненавидят ассемблер?Ведь у него куча плюсов!Он позволяет максимально задействовать
- Ассемблер. Помогите решить. Для выполнения в emu8086
- Вопрос по изучению языка Ассемблера под MS DOS. (Нужны советы по программному обеспечению/программированию)
- Ассемблер сегодня и завтра.
- Ассемблер. Команда условного перехода, если результат равен 1???