OK, då är jag med.
Det jag hittar om MOV är "moves" mellan "Carry" och en "directly
addressable bit".
Och genom att Carry ju kan vara 0 eller 1, så kan alltså samma en och
instruktion på det sättet antingen sätta eller cleara en "directly addressable
bit" dynamiskt på det sättet. Man kan alltså t.ex göra en aritmetiskt
operation som sätter/clearar Carry och direkt efter sätta valfri "directly
addressable bit" till samma som Carry utan vidare tester aller branch'es.
Det enda är väl att man bara kan göra detta mot de register som har
"directly addressable bits", vilket är vissa RAM adresser (20 - 2F) samt
vissa kontrolregister (vart åttonde, de vars adress slutar på 0 eller 8 ).
Och "bit-adresserna" är en egen adressrymd, de kan bara användas där
det är specat "bit" i instruktionen, inte som en adress vilken som helst.
> Hur tolkar du det här dokumentet under 1.4 Direct and Indirect Address Area,...
Precis som det står...

Det som är lite förvillande är att om man anger en viss adress som en
"direkt" adress så hamnar man på et ställe, men om man lägger samma
adress i ett register och gör en indirekt adresserig via det registret så
hamnar man på ett annat ställe (i en annan adresstymd). I alla fall
för vissa modeller av processorer, se figure 6. 80H - FFH är dubblerat.
> och sedan bank 2. Bit Addressable Area.
Ja, det är ju de register i RAM som även har "bit-adresser" för de instruktioner
som har en "bit" variant som SETB/CLR och bit-varienten av MOV.
Byte-adresser och bit-adresser är alltså två helt olika adressrymder.
Så här spontant känns arkitekturen lite rörig...
