07/05/04 16:19:27
スタック操作の比較
6502 PHA/PLA(アキュムレータ) PHP/PLP(ステータス)の二種 $0100-$01FFのみ
6800 PSHA/PULA PSHB/PULB の二種
8080 PUSH/POP B,D,H,PSW のどれか個別
Z80 PUSH/POP BC,DE,HL,AF のどれか個別 (オペコードは8080と同じ)
8086 PUSH/POP 各レジスタ,フラグ,メモリ,即値など 個別
V30,80186以降のx86 PUSHA/POPA 一括(di,si,bp,sp,bx,dx,cx,ax)が上に追加
6809 PSHS/PULS A,B,DP,X,Y,U,PC 選択(複数指定可)
または PSHU/PULU A,B,DP,X,Y,S,PC (対象はUスタック)
68000 MOVEM -(An),D0-D7,A0-A7 で選択 push (複数指定可)
MOVEM (An)+,D0-D7,A0-A7 が選択 pop に相当
x86系が個別プッシュか一括のどちらかなので、6809はやっぱ便利だったと思った
68000の命令表で最初push,pullが見つからなくて悩んだけど
MOVEMの意味がやっとわかって、その優れた汎用性にびっくりした
(最近勉強中なので、ニーモニック記述が間違ってたらすみません)