The LDAX/STAX instuctions in the 8085 load and store the accumulator. The target address used is contained in either the BC register pair (LDAX D), or the DE register pair (LDAX D).
The full form of LDAX is load accumulator from memory pointed by extended register denoted as "rp". It occupies only one byte in memory and the target address is contained in either the BC or DE register pair.
If 8 or 16 bit data is required for executing the instruction present in register/register pair and named of register/register pair is given along the register.this instruction is called register addressing mode instruction.for example:MOV B,A
hl pair holds the address of the location pointed by the memory pointer M
XTHL exchanges HL register with the content of the stack. XTHL followed by RET allows to return to an other address than the one which was previously pushed by a CALL. Eg.: ... CALL FOOBAR ... FOOBAR ... LXI, H @@@@ XTHL RET ;return to @@@@, not after the 'call' Alain FOUERE 22april2009
The 8085 microprocessor has an 8-bit flag register, even though it only has 5 flags, because all of the registers in the 8085 are 8-bit or 16-bit. In fact, the flags register is considered to be part of the accumulator, as one "register pair", for purposes of stack push/pop and interrupt call/return. Be warned, however, that you should not attempt to change the state of bits stored on the stack and then pop'ing them into AF, because some of the three "unused" bits might be undocumented but actually used, or their meaning might change between different versions of the chip.
HL is a register pair used to store 16 bit of data in 8085 microprocessor.
Because that is the way Intel designed the INX instruction of the 8085. The 8080 is also the same. INX increments (and DCX decrements) the 16 bit register pairs or BC, DE or HL, depending on what register pair you specify in the INX (or DCX) instruction. To check is the value is 0 after an INX (or DCX) instruction, you need to OR the values of the register pair into the A register. For example..... INX H ;increment HL register pair MOV A,H ; move H register into the accumulator ORA L ; Logical OR it with the L register JZ ADDR ; If 0 then jump to ADDR
Accumulator or A register is an 8-bit register used for arithmetic, logic, I/O and load/store operations. Flag is an 8-bit register containing 5 1-bit flags: * Sign - set if the most significant bit of the result is set. * Zero - set if the result is zero. * Auxiliary carry - set if there was a carry out from bit 3 to bit 4 of the result. * Parity - set if the parity (the number of set bits in the result) is even. * Carry - set if there was a carry during addition, or borrow during subtraction/comparison. General registers: * 8-bit B and 8-bit C registers can be used as one 16-bit BC register pair. When used as a pair the C register contains low-order byte. Some instructions may use BC register as a data pointer. * 8-bit D and 8-bit E registers can be used as one 16-bit DE register pair. When used as a pair the E register contains low-order byte. Some instructions may use DE register as a data pointer. * 8-bit H and 8-bit L registers can be used as one 16-bit HL register pair. When used as a pair the L register contains low-order byte. HL register usually contains a data pointer used to reference memory addresses. Stack pointer is a 16 bit register. This register is always incremented/decremented by 2. Program counter is a 16-bit register.
MAC (Medium Access Control) addresses, part of the 802 family of IEEE standards, have 48 bits. They are typically represented as six pairs of hexadecimal digits, eg: 00-11-22-DD-EE-FF (each digit is comprised of the hexadecimal digits 0-9 and A-F, from 0 to 15 decimal). Each hexadecimal digit is 4 bits in length, so the pair is 8 bits. Thus, the pair of numbers can represent decimal values from 0 to 255. In some notations, the "-" is replaced with ":", eg 00:11:22:DD:EE:FF. The pair of digits can also be referred to as an octet or a byte.
DCX D means decrement register pair DE by one
INR increment the content of register/memory by 1and result is stored in same place. INX increment the register pair by 1(no flags are affected)