Особенности работы команды BIT n,r
Особенности работы команды BIT n,r:
Хотя, проще будет описать отличия работы команды BIT n,r от ALU A,r:
1. В такте T3 в ALUB и ALUA загружается не регистр A, а байт маски.
2. В такте T4 в ALUA загружается регистр r.
Говоря проще, в командах ALU A,r в ALUA находился регистр A, а в ALUB регистр r.
А в команде BIT n,r в ALUA регистр r, а в ALUA байт маски.
3. Далее происходит работа АЛУ в режиме AND.
Напомню, что в режиме AND все биты переноса форсируются в установленные. Поэтому входящий флаг переноса, который берется из бита H в начале команды устанавливается в 1.
По итогу работы команды флаги устанавливаются точно так же, как и после команды AND, за исключением флага C. Немного странно, что биты S и P почему-то считаются недокументированными.
Так как запись результата на шину HBUS в этой команде блокируется, то флаги 5 и 3 устанавливаются согласно последнему содержимому шины HBUS. А последним через шину передавался регистр r.
Вот и все загадки.