Nyall :move.b (a0)+,d1 ;8 cycles
move.b (a0),d0 ;8 cycles
rol.w #8,d0 ;22 cycles
move.b d1,d0 ;4 cycles
total = 42
OR
move.b (a0)+,d1 ;8 cycles
move.b (a0),-(a7) ;12 cycles
move.w (a7)+,d0 ;8 cycles
move.b d1,d0 ;4 cycles total = 32
and.b d3,(a2) ;12 clocks
smi.b (a2) ;12 clocks
into:
and.b (a2),d3 ;8 clocks
smi (a2) ;12 clocks
If the address register is the
stack pointer and the operand size is byte, the address is decremented by two to keep the stack pointer aligned to a word boundary.
Addressage indirect Prédécrémenté
Le registre d'addresse An contienu une addresse mémoire. Cette addresse doit être décrémenté de N pour donner l'addresse de l'opérande.
N = 1 si l'opérande est un octet
N = 2 si l'opérande est un mot
N = 4 si l'opérand est un mot double
An = An - N et AE = (An)
Sasume
: Godzil>If the address register is the
stack pointer and the operand size is byte, the address is decremented by two to keep the stack pointer aligned to a word boundary.
GodzilTu rigoles ? L'assembleur va substituer les instructions du type move.b dn,-(a7) par subq.l #2,a7 ; move.b dn,(a7) ??
:SasumeCa c'est l'assembleur qui fait ça pas le processeur
: Godzil>If the address register is the
stack pointer and the operand size is byte, the address is decremented by two to keep the stack pointer aligned to a word boundary.
Godzil :
pour le move.b dn,-(a7)
je ne trouve pas d'info comme quoi en realité a7 serait décrémenté de 2 au lieu de 1
en plus le code move.b dn,-(an) n'est pas spécifique a a7.
non je suis désolé (cf mon livre sur le 68000) :
Addressage indirect Prédécrémenté
Le registre d'addresse An contienu une addresse mémoire. Cette addresse doit être décrémenté de N pour donner l'addresse de l'opérande.
N = 1 si l'opérande est un octet
N = 2 si l'opérande est un mot
N = 4 si l'opérand est un mot double
An = An - N et AE = (An)
V = ~(S ^ D) & (S ^ R) #6502# V = ~[(~S & D) | (S & ~D)] & [(~S & R) | (S & ~R)] V = ~(~S & D) & ~(S & ~D) & [(~S & R) | (S & ~R)] V = [~(~S) | ~D] & [~S | ~(~D)] & [(~S & R) | (S & ~R)] V = (S | ~D) & (~S | D) & [(~S & R) | (S & ~R)] V = (S | ~D) & [(~S | D) & (~S & R) | (~S | D) & (S & ~R)] V = (S | ~D) & (~S | D) & ~S & R | (S | ~D) & (~S | D) & S & ~R V = ~S & R & (S | ~D) | ~R & S & (~S | D) V = [(~S & S | ~S & ~D) & R] | [(S & ~S | S & D) & ~R] V = (~S & ~D & R) | (S & D & ~R) #68k#
nitro :
What about continuing in english in the International forum so that Nyall and other people can help more ?![]()