INSTRUCTION SET REFERENCE
6-16
6.2.8
b, bx
Mnemonic:
b
Branch
bx
Branch Extended
Format:
b
targ
disp
bx
targ
mem
Description:
Branches to the specified target.
With the
b
instruction, IP specified with targ operand can be no farther than
-2
23
to (2
23
- 4) bytes from current IP. When using the Intel i960 processor
assembler, targ operand must be a label which specifies target instruction’s
IP.
bx
performs the same operation as
b
except the target instruction can be
farther than -2
23
to (2
23
- 4) bytes from current IP. Here, the target operand is
an effective address, which allows the full range of addressing modes to be
used to specify target instruction’s IP. The “IP + displacement” addressing
mode allows the instruction to be IP-relative. Indirect branching can be
performed by placing target address in a register then using a register-indirect
addressing mode.
Refer to
section 2.3, “MEMORY ADDRESSING MODES” (pg. 2-6)
for
information on this subject.
Action:
b:
temp[31:2] = sign_extension(targ[23:2]);
IP[31:2] = IP[31:2] + temp[31:2];
IP[1:0] = 0;
bx:
IP[31:2] = effective_address(targ[31:2]);
IP[1:0] = 0;
Faults:
STANDARD Refer
to
section 6.1.6, “Faults” (pg. 6-5)
.
Example:
b xyz
# IP
=
xyz;
bx 1332 (ip)
# IP
=
IP + 8 + 1332;
# this example uses IP-relative addressing
Opcode:
b
08H
CTRL
bx
84H
MEM
See Also:
bal, balx, BRANCH<cc>, COMPARE AND BRANCH<cc>, bbc, bbs
Summary of Contents for i960 Jx
Page 1: ...Release Date December 1997 Order Number 272483 002 i960 Jx Microprocessor Developer s Manual ...
Page 24: ......
Page 25: ...1 INTRODUCTION ...
Page 26: ......
Page 35: ...2 DATA TYPES AND MEMORY ADDRESSING MODES ...
Page 36: ......
Page 46: ......
Page 47: ...3 PROGRAMMING ENVIRONMENT ...
Page 48: ......
Page 73: ...4 CACHE AND ON CHIP DATA RAM ...
Page 74: ......
Page 85: ...5 INSTRUCTION SET OVERVIEW ...
Page 86: ......
Page 111: ...6 INSTRUCTION SET REFERENCE ...
Page 112: ......
Page 233: ...7 PROCEDURE CALLS ...
Page 234: ......
Page 256: ......
Page 257: ...8 FAULTS ...
Page 258: ......
Page 291: ...9 TRACING AND DEBUGGING ...
Page 292: ......
Page 309: ...10 TIMERS ...
Page 310: ......
Page 324: ......
Page 325: ...11 INTERRUPTS ...
Page 326: ......
Page 369: ...12 INITIALIZATION AND SYSTEM REQUIREMENTS ...
Page 370: ......
Page 412: ......
Page 413: ...13 MEMORY CONFIGURATION ...
Page 414: ......
Page 429: ...14 EXTERNAL BUS ...
Page 430: ......
Page 468: ......
Page 469: ...15 TEST FEATURES ...
Page 470: ......
Page 493: ...A CONSIDERATIONS FOR WRITING PORTABLE CODE ...
Page 494: ......
Page 502: ......
Page 503: ...B OPCODES AND EXECUTION TIMES ...
Page 504: ......
Page 515: ...C MACHINE LEVEL INSTRUCTION FORMATS ...
Page 516: ......
Page 523: ...D REGISTER AND DATA STRUCTURES ...
Page 524: ......
Page 550: ......
Page 551: ...GLOSSARY ...
Page 552: ......
Page 561: ...INDEX ...
Page 562: ......
Page 578: ......