Line 976... |
Line 976... |
& \hbox{\tt MOV.cond \$Addr+PC,PC}
|
& \hbox{\tt MOV.cond \$Addr+PC,PC}
|
& Branch or jump on condition. Works for 13--bit
|
& Branch or jump on condition. Works for 13--bit
|
signed address offsets.\\\hline
|
signed address offsets.\\\hline
|
{\tt BRA.Cond +/-\$Addr}
|
{\tt BRA.Cond +/-\$Addr}
|
& \parbox[t]{1.5in}{\tt LDI \$Addr,Rx \\ ADD.cond Rx,PC}
|
& \parbox[t]{1.5in}{\tt LDI \$Addr,Rx \\ ADD.cond Rx,PC}
|
& Branch/jump on condition. Works for
|
& Branch/jump on condition. Works for 23 bit address offsets, but
|
23 bit address offsets, but costs a register, an extra instruction,
|
costs a register and an extra instruction. With LDIHI and LDILO
|
and sets the flags. \\\hline
|
this can be made to work anywhere in the 32-bit address space, but yet
|
|
cost an additional instruction still. \\\hline
|
{\tt BNC PC+\$Addr}
|
{\tt BNC PC+\$Addr}
|
& \parbox[t]{1.5in}{\tt Test \$Carry,CC \\ MOV.Z PC+\$Addr,PC}
|
& \parbox[t]{1.5in}{\tt Test \$Carry,CC \\ MOV.Z PC+\$Addr,PC}
|
& Example of a branch on an unsupported
|
& Example of a branch on an unsupported
|
condition, in this case a branch on not carry \\\hline
|
condition, in this case a branch on not carry \\\hline
|
{\tt BUSY } & {\tt MOV \$-1(PC),PC} & Execute an infinite loop \\\hline
|
{\tt BUSY } & {\tt MOV \$-1(PC),PC} & Execute an infinite loop \\\hline
|