06.02.2013 Views

C166/ST10 Cross-Assembler, Linker/Locator, Utilities ... - Tasking

C166/ST10 Cross-Assembler, Linker/Locator, Utilities ... - Tasking

C166/ST10 Cross-Assembler, Linker/Locator, Utilities ... - Tasking

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

• • • • • • • •<br />

Assembly Language 4−7<br />

4.3 EXTEND BLOCKS<br />

The C16x/<strong>ST10</strong> and XC16x/Super10 architectures have instructions which<br />

create extend blocks:<br />

− begin atomic sequence ATOMIC<br />

− begin extended register sequence EXTR<br />

− begin extended page sequence EXTP<br />

− begin extended page and register sequence EXTPR<br />

− begin extended segment sequence EXTS<br />

− begin extended segment and register sequence EXTSR<br />

An extend block starts after one of the extend instructions is issued and<br />

ends after the number of instructions as issued with the extend instruction.<br />

Example:<br />

EXTR #2 ; 2 extended instr.<br />

MOV PT0, #value0 ; extend SFR<br />

MOV PT1, #value1 ; extend SFR<br />

MOV PSW, #valueX ; standard SFR<br />

Branching into or from an extend block probably introduces a ’virtual<br />

extend block’. See also chapter Derivative Support.<br />

4.4 THE SOFTWARE INSTRUCTION SET<br />

The software instruction set knows all instructions of the hardware<br />

instruction set and some additional mnemonics. These additional<br />

mnemonics are added to allow easy and comfortable programming.<br />

The hardware mnemonics that logically belong together are combined in<br />

one software mnemonic. The assembler will determine by means of the<br />

combination of operands, which opcode is entered in the instruction<br />

format. This means that based on the combination of operands the<br />

appropriate hardware mnemonic is chosen.<br />

Example<br />

ADD RL0, #3 will result in ADDB RL0, #3

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!