WORLD Amigo. LAST PART
(C) 1999>> RRA>> / AF / SG
(Okonchanie. Beginning in rooms 5-8)
-------------------------------------------------- -------------
ROL, ROR - rotate (without the flag X)
Syntax: ROd Dx, Dy
ROd # , Dy
ROd <ea>
Where d - the shift direction
Size:. B,. W,. L
Description: The rotation of DST in a certain direction.
Flag X is not involved in the rotation.
Counter rotation can be specified in two ways:
1) from 1 to 8
2) in the data register
The team works with memory (ROd <ea>) produ
rotation leads to 1-bit operand size only. W
<Ea> can not be addressing: Dn, An
ROL:
C <operand <
ROR:
> Operand> C
Flags: X - does not change
V = 0
N, Z - vary according to the result
C - the last bit, which is involved in rotation
-------------------------------------------------- -------------
ROXL, ROXR - rotation with the flag X
Syntax: ROXd Dx, Dy
ROXd # , Dy
ROXd <ea>
Where d - the shift direction
Size:. B,. W,. L
Description: The rotation of DST in a certain direction.
Flag of the X involved in the rotation.
Counter rotation can be specified in two ways:
1) from 1 to 8
2) in the data register
The team works with memory (ROXd <ea>) an
drives a rotation of 1-bit operand size only
. W
<Ea> can not be addressing: Dn, An
ROXL:
C <operand <X <
ROR:
> X> Operand -> C
Flags: V = 0
N, Z - vary according to the result
X, C - the last bit, which is involved in
rotation --------------------------------------------------
------------- RTD - return from subroutine with an increase
in SP (Do not know exactly
both had called for this team to another, but she lives
on
Elder processor)
Operation: PC = (SP), SP +4 + disp
Syntax: RTD #
Description: The PC is removed from the stack, then the
pointer
Stack added option # . This command
typically used when calling routine
several options were passed through the stack.
Flags: do not change
-------------------------------------------------- -------------
RTM - the return of the unit (MC68020)
Syntax: RTM Rn
Description: Restores previously saved state
module, then returned to him.
Nothing intelligent to modules I can not say
because I can not even imagine that such a module
and what it eats. Yes, and I do not want to know
anything about
They, after all except the CPU MC68020, their
Nowhere is no more.
-------------------------------------------------- -------------
RTR - Return to the restoration register flags.
Do not think that this is our native Television
Advertising
Russia.
Operation: CCR = (SP), SP +2, PC = (SP), SP +4
Syntax: RTR
Description: Do not think that this is our native Advertising
Television Russia
Removed from the stack register CCR, and then
the PC.
Part of the register SR is available in
supervisor mode
does not change.
Flags: as already mentioned, are removed from the stack.
-------------------------------------------------- -------------
RTS - return from subroutine
Operation: PC = (SP), SP +4
Syntax: RTS
Description: The neizvraschenny return from the subroutine.
Just removed PC from the stack and all!
Flags: do not change
-------------------------------------------------- -------------
SBCD - decimal subtraction, taking into account the flag X
Operation: DST = DST10-SRC10-X
Syntax: SBCD Dy, Dx
SBCD - (Ay), - (Ay)
others addressing is not possible.
Size:. B
Description: Subtracts the BCD-number one from another, and
the heap
subtracts from all of this flag is X.
Flags: C, X - change
N, V - indefinitely
Z - 0, if the result is not 0, otherwise
changes (!). For a correct determination
this flag, before surgery, it should be
install.
-------------------------------------------------- -------------
Scc - set in accordance with condition
Syntax: Scc <ea>
Size:. B
Description: If the condition is true, then B <ea> written
be written # FF, 0 otherwise.
Terms and conditions I have already written
twice, third time I just
to scrap (see the team and Bcc DBcc). I want to
note
Team:
ST - the condition is always true, so the result
is # FF
SF - never true, then the result 0.
By the way, is often used combinations of
commands Scc
and NEG.B. The result of this combination: if
the condition
true, then the result is 1, otherwise 0. Of
course both
These teams should be made on one <ea>
For example:
TST.L D1
SMI D0
NEG.B D0
In this case, if D1 is negative, D0 = 1,
D0 = 0 otherwise.
Flags: do not change
-------------------------------------------------- -------------
SUB, SUBA, SUBI, SUBQ - Subtraction
Syntax: SUB <ea>, Dn
SUB Dn, <ea>
SUBA <ea>, An
SUBI # , <ea>
SUBQ # , <ea>
Size:. B,. W,. L
SUBA -. W,. L
Description: SUB - subtract from the data register operand in
<ea>
or vice versa.
SUBA - subtracted from the address register
operand in <ea>
SUBI - subtract operands <ea> any number.
SUBQ - subtract operands <ea> number from 1 to
8.
Prohibition of addressing: An available only for operations.
W,. L
Flags: change everything except program SUBA, it is not
affects the flags.
-------------------------------------------------- ------------
SUBX - subtraction, taking into account the flag X
Operation: DST = DST-SRC-X
Syntax: SUBX Dy, Dx
SUBX - (Ay), - (Ay)
others addressing is not possible.
Size:. B,. W,. L
Description: Subtract one number from the X flag of another.
Flags: C, X - change
N, V - indefinitely
Z - 0, if the result is not 0, otherwise
changes (!). For a correct determination
this flag, before surgery, it should be
install.
-------------------------------------------------- -------------
SWAP - swap halves Register
Operation: bits 31-16 <-> bits 15-0
Syntax: SWAP Dn
Description: Swaps the 16-bit halves of the register.
For example:
was: 00000000000000001111111111111111 # 0000FFFF
was: 11111111111111110000000000000000 # FFFF0000
Flags: X - does not change
V, C = 0
N, Z - change
-------------------------------------------------- -------------
TAS - Test and set operand
Syntax: TAS <ea>
Size:. B
Description: Tests the addressable operand field <ea>, then
sets its seventh bit.
Addressing the forbidden: An
Flags: X - does not change
V, C = 0
N, Z - change
-------------------------------------------------- -------------
TRAP - an exception TRAP
Operation: register bit S SR = 1, that is to say supervisor
mode
SSP-2, (SSP) = FORMAT / OFFSET (*)
SSP-4, (SSP) = PC, SSP-2, (SSP) = SR
PC = address of the vector
(*) This line does not work for MC68000
Syntax: TRAP # <vector>
Description: This command is analogous principle the pisishnoy
Team INT # N. She throws a TRAP
(Vector # 20 - # 2F, 32-47). Number of vector
calculation us to simply: Value # <vector> 32.
This
parameter can be set from 0 to 15.
The principle of exceptions and interrupts, I
will describe a very
soon, and while scoring this text I do not want
...
Flags: do not change
-------------------------------------------------- -------------
TRAPcc - TRAP by (SENIOR percent).
Syntax: TRAPcc
TRAPcc.W #
TRAPcc.L #
Description: If the condition is true, then action is called
lyuchenie TRAPcc (vector 7), otherwise the prog
does Xia further.
And that's why there is a parameter # I
did not
vkuril. When dopret say.
Flags: unaffected.
-------------------------------------------------- -------------
TRAPV - TRAP overflow
Syntax: TRAPV
Description: This team has always treated separately from
teams TRAPcc, because unlike TRAPcc
TRAPV team is all family processors
M680x0. And so, the function is the same.
-------------------------------------------------- -------------
TST - test operands
Syntax: TST <ea>
Size:. B,. W,. L
Description: Compares the operand with zero.
Prohibition of addressing: An and the register PC is not
available
on the MC68000, the rest please.
Flags: X - does not change
V, C = 0
N, Z - change
-------------------------------------------------- ------------
UNLK - kill the stack frame
Operation: SP = An, An = (SP), SP +4
Syntax: UNLK An
Description: Kills the stack frame is organized by a team
LINK. And he does it this way: SP equates to
specified register address. Then remove from the
stack
stored value is the same case.
And truncated in order. _ZAPOMNITE! _ Like the
FOR loop does not
can live without a NEXT, and the LINK will die
without UNLK.
In other words, if LINK has been made in the
subspace program and you have not done before
leaving UNLK, then where
return your procedure can only guess.
Flags: do not change
-------------------------------------------------- ------------
UNPK - unpack the BCD-number (the elder processor)
Syntax: UNPK - (Ax), - (Ay), #
UNPK Dx, Dy, #
Description: Unpacking is so Makarov:
Bits 0-3 and 4-7, the source operand (bagged
BCD-number) are transferred in bits 0-3 and 8-11
respectively respectively operand receiver
(obtained
unpacked BCD-number), the bits 4-7 and 12-15
filled nyayutsya zeros. And to finish before the
end of all this
process is added to the result parameter
#
.
If you are using predekrementnaya addressing,
then
read one byte, and written two.
Why do I explain I will not, will understand.
In general, it is time to call it a day. I want
to sleep!
Tomorrow at work!
Flags: do not change what they were and have remained so!