Prev: 41649 Up: Map Next: 41700
41661: Extract Object Attributes
Input
IX Pointer to object data
Extract the first attribute value from bit-packed object data.
ExtractObjectAttributes 41661 LD A,(IX+5) A=*IX+5 (load byte from offset +5).
41664 RRCA Shift right by 4 bits (extract low nibble from offset +5).
41665 RRCA
41666 RRCA
41667 RRCA
41668 AND %00001111 Keep only bits 0-3.
41670 LD C,A C=A (store the low nibble).
41671 LD A,(IX+7) A=*IX+7 (load byte from offset +7).
41674 AND %11110000 Keep only bits 4-7 (extract high nibble from offset +7).
41676 ADD A,C A+=C (combine high and low nibbles).
41677 LD (40990),A Write A to *40990 (store the first attribute value).
Extract the second attribute value from bit-packed object data.
41680 LD A,(IX+1) A=*IX+1 (load byte from offset +1).
41683 RRCA Shift right by 4 bits (extract low nibble from offset +1).
41684 RRCA
41685 RRCA
41686 RRCA
41687 AND %00001111 Keep only bits 0-3.
41689 LD C,A C=A (store the low nibble).
41690 LD A,(IX+3) A=*IX+3 (load byte from offset +3).
41693 AND %11110000 Keep only bits 4-7 (extract high nibble from offset +3).
41695 ADD A,C A+=C (combine high and low nibbles).
41696 LD (40989),A Write A to *ObjectAttributeValue (store the second attribute value).
41699 RET Return.
Prev: 41649 Up: Map Next: 41700