Другие языки программирования и технологии

Выполнение команд ассемблера в МП

Подскажите пожалуйста книгу или сайт, где бы было подробно расписано выполнение команд Ассемблера в процессоре, т.е. что за чем следует, какие ргеистры изменяются и как и т.п. или просто хотябы общая схема выполнения команд 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.

обзаведись книжкой со справочником - удобно.
Artemiusstar
Artemiusstar
37 344
Лучший ответ
JNGE - это команда условного перехода по условию "меньше", которое создается при сравнении регистров, например, командой CMP. Регистры при этом не меняются, а происходит, или не происходит, переход на указанный в команде адрес. Проверяется, что флаги OF и SF должны быть разными, в одном 0, в другом 1.
SUB - это команда вычитания одного регистра из другого, или числа из регистра, при этом устанавливаются флажки CF, AF, SF, ZF, PF, OF в соответствии с результатом операции. Причем флажки CF и AF становятся флажками заема и устанавливаются в 1, если вычитаемое больше уменьшаемого.
LOOP - это команда окончания цикла. Производит декремент регистра CX и, если CX не равен 0, происходит
переход к началу цикла.

Что происходит в процессоре - ясно из описания команд. Например, при условном переходе, проверяются флажки, и если они стоят как надо, регистр адреса РС меняется на новый адрес, и происходит передача управления.