Why address register postincrement is (A0)+

2019-07-31 09:56发布

Basically in the assembly language of 68000 to postincrement an address register you have to do:

(A0)+

Example

MOVE (A0)+,D0

This will move into D0 the value pointed by address of A0 and also will increment A0 by 1.

Considering that (A0) is the value pointed by A0 wasn't better if the postincrement syntax was:

(A0+)

? Or I am missing something?

1条回答
forever°为你锁心
2楼-- · 2019-07-31 10:10
MOVE.L (A1)+,D0 ; increments A1 by 4, because it is long operation
                ; and 4 is size of long

I think that current postincrement syntax points at this feature, while (A1+) more suggests that A1 incremens by one always.

Look at: Indirect addressing with postincrement

查看更多
登录 后发表回答