![Intel 8XC196NT User Manual Download Page 58](http://html1.mh-extra.com/html/intel/8xc196nt/8xc196nt_user-manual_2072210058.webp)
3-7
PROGRAMMING CONSIDERATIONS
3.2.1
Direct Addressing
Direct addressing directly accesses a location in the 256-byte lower register file, without involv-
ing the memory controller. Windowing allows you to remap other sections of memory into the
lower register file for direct access (see Chapter 4, “Memory Partitions,” for details). You specify
the registers as operands within the instruction. The register addresses must conform to the align-
ment rules for the operand type. Depending on the instruction, up to three registers can take part
in a calculation. The following instructions use direct addressing:
ADD
AX,BX,CX ;
AX
←
BX + CX
ADDB AL,BL,CL
; AL
←
BL + CL
MUL
AX,BX ;
AX
←
AX
×
BX
INCB CL
; CL
←
CL + 1
3.2.2
Immediate Addressing
Immediate addressing mode accepts one immediate value as an operand in the instruction. You
specify an immediate value by preceding it with a number symbol (#). An instruction can contain
only one immediate value; the remaining operands must be direct references. The following in-
structions use immediate addressing:
ADD
AX,#340
; AX
←
AX + 340
PUSH #1234H
; SP
←
SP - 2
; MEM_WORD(SP)
←
1234H
DIVB AX,#10
; AL
←
AX/10
; AH
←
AX MOD 10
3.2.3
Indirect Addressing
The indirect addressing mode accesses an operand by obtaining its address from a WORD regis-
ter in the lower register file. You specify the register containing the indirect address by enclosing
it in square brackets ([ ]). The indirect address can refer to any location within the address space,
including the register file. The register that contains the indirect address must be word-aligned,
and the indirect address must conform to the rules for the operand type. An instruction can contain
only one indirect reference; any remaining operands must be direct references. The following in-
structions use indirect addressing:
Table 3-3. Definition of Temporary Registers
Temporary Register
Description
AX
word-aligned 16-bit register; AH is the high byte of AX and AL is the low byte
BX
word-aligned 16-bit register; BH is the high byte of BX and BL is the low byte
CX
word-aligned 16-bit register; CH is the high byte of CX and CL is the low byte
DX
word-aligned 16-bit register; DH is the high byte of DX and DL is the low byte
EX
double-word-aligned 24-bit register
Summary of Contents for 8XC196NT
Page 1: ...8XC196NT Microcontroller User s Manual...
Page 2: ...8XC196NT Microcontroller User s Manual June 1995 Order Number 272317 003...
Page 22: ...1 Guide to This Manual...
Page 23: ......
Page 35: ......
Page 36: ...2 Architectural Overview...
Page 37: ......
Page 49: ......
Page 50: ...3 Programming Considerations...
Page 51: ......
Page 66: ...4 Memory Partitions...
Page 67: ......
Page 104: ...5 Standard and PTS Interrupts...
Page 105: ......
Page 147: ......
Page 148: ...6 I O Ports...
Page 149: ......
Page 176: ...7 Serial I O SIO Port...
Page 177: ......
Page 194: ...8 Synchronous Serial I O SSIO Port...
Page 195: ......
Page 211: ......
Page 212: ...9 Slave Port...
Page 213: ......
Page 231: ......
Page 232: ...10 Event Processor Array EPA...
Page 233: ......
Page 270: ...11 Analog to digital Converter...
Page 271: ......
Page 291: ......
Page 292: ...12 Minimum Hardware Considerations...
Page 293: ......
Page 306: ...13 Special Operating Modes...
Page 307: ......
Page 317: ......
Page 318: ...14 Interfacing with External Memory...
Page 319: ......
Page 362: ...15 Programming the Nonvolatile Memory...
Page 363: ......
Page 408: ...A Instruction Set Reference...
Page 409: ......
Page 476: ...B Signal Descriptions...
Page 477: ......
Page 493: ......
Page 494: ...C Registers...
Page 495: ......
Page 565: ......
Page 566: ...Glossary...
Page 567: ......
Page 580: ...Index...
Page 581: ......
Page 597: ......