опубликован 12-12-2001 23:12 MSK
Добавлю ещё, что младший байт регистра AX - это AL, старший - AH. Для BX, CX и DX - это BL/BH, CL/CH и DL/DH. Другие регистры не имеют однобайтовых аналогов, так сказать. Регистр CX обычно используется как счётчик, а AX - как основной при использовании некоторых инструкций (команд то бишь).Есть ещё регистры SI и DI, они используются для чтения/записи/копирования/сравнения участков памяти.
Регистр BP обычно используют внутри процедур для доступа к параметрам и локальным переменным (в подробности вдаваться не буду).
Есть ещё регистр SP, который указывает на вершину стека (т.е. на посленее записанное в стек значение). Регистр SS определяет сегмент стека (т.е. вершина стека - SS:SP).
Регистр DS обычно используется для доступа к памяти, собственно, как и регистр ES. Но при доступе к памяти, если адрес НЕ содержит [BP], то по умолчанию используется сегмент DS, иначе (если содержит) - SS.
Регистр CS указывает на сегмент выполняемого кода, IP - на текущую команду. Но! Если ты напишешь в исходнике IP (mov ax,ip ; push ip и т.д), то ассемблер тебя не поймёт. Регистр IP читается/изменяется только при помощи JMP,Jcc,LOOP,CALL,RET,POP(послеCALL) и т.п.
Регистр флагов показывает результат выполнения предыдущей команды (правда, не все команды изменяют его значение). Для доступа к нему используются PUSHF/POPF,SAHF/LAHF.
В принципе (хотя даже и без принципа :) , любой регистр можно использовать там, где захочется, кроме регистров SS,SP,CS,IP, их лучше просто так не трогать. Но если написано в документации, что LOOP использует CX, значит LOOP будет использовать именно CX :)
Кстати, в процессорах 80386 и старше регистры (кроме сегментных!) имеют размер не 2, а 4 байта и называются EAX,EBX,ESI и т.д. Для доступа к младшему слову используются AX,BX,SI..... Т.е. EAX состоит из AX и старшей части (которая названия не имеет). А AX, в свою очередь, из AL и AH.
Не хочу тебя пугать, но сопроцессор тоже имеет свои регистры( ST(n) ). Есть также и управляющие регситры CRx, DRx, TRx. Есть регистры MMX :)))
Вот такие вот ватрухи, панимаишь..... :)))