アセンブリ言語 Edit

目次 Edit

はじめに Edit

Register?なども、参考にしてください。

オペランドは、0個以上のソースと1つのデスティネーションからなる。

ソース(Source)
源、情報源などの意味。固定値、レジスタ、メモリなどを指定する。
ディスティネーション(Destination)
宛先の意味。レジスタ、メモリなどを指定する。

C Edit

call Edit

	call	Source

スタックにIPの値を格納したあとに、Sourceへジャンプする。
意味的には次と同じ。

	push	ip
	jmp	Source

ただし、IPを直接扱うことができないので、これは不可能。

L Edit

leave Edit

	leave

以下の命令をまとめたもの。
おもに、c言語の関数を抜ける直前(retの直前)に書く。

	mov	esp,	ebp
	pop	ebp

P Edit

pop Edit

&t;pop	Destination

SS:SPの内容をDestinationに格納し、SPの値をDestinationのバイト数分増やす。
Destinationに8bitは使用できない。
意味的には次と同じ。

	mov	Destination, [ss:sp]
	add	sp, 2(4)

push Edit

	push	Source

SPの値をSourceのバイト数分減らし、Sourceの内容をSS:SPに格納する。
Sourceに8bitは使用できない。
意味的には次と同じ。

	sub	sp, 2(4)
	mov	[ss:sp], Source

R Edit

ret Edit

	ret

サブルーチンの呼び出し元に戻る。
正確には、[ss:sp]の内容をIPに格納し、SPの値を2(4)増やす。
意味的には次と同じ。

	pop	ip

ただし、IPを直接扱うことができないので、これは不可能。


Since 2008 July. OS Project Wiki
リロード   新規 下位ページ作成 編集 凍結 差分 添付 コピー 名前変更   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS