as-5. サブルーチン呼び出しのメカニズム
内容
- スライド 1 as-5. サブルーチン呼び出しのメカニズム
- スライド 2 種々のオペランド
- スライド 3 データレジスタ直接 (data register direct)
- スライド 4 move.w %D0, %D3 の命令実行
- スライド 5 アドレスレジスタ直接 (address register direct)
- スライド 6 move.l %A6, %A0 の命令実行
- スライド 7 アブソリュート(absolute)
- スライド 8 move.w ADDR,%D0 の命令実行
- スライド 9 move.w %D1, ADDR の命令実行
- スライド 10 イミディエート (immediate)
- スライド 11 move.w #0x0040, %D0 の命令実行では
- スライド 12
- スライド 13 レジスタ間接 (register indirect)
- スライド 14 move.w (%A0),%D0 の命令実行
- スライド 15 move.w %D3, (%A1) の命令実行
- スライド 16 レジスタ直接とレジスタ間接の違い
- スライド 17 種々のオペランド(その2)
- スライド 18 ポストインクリメント・レジスタ間接
- スライド 19 プリデクリメント・レジスタ間接
- スライド 20 ディスプレースメント付きレジスタ間接
- スライド 21
- スライド 22 68000 のアドレッシングモード
- スライド 23 アドレッシングモード
- スライド 24 C 言語での関数呼び出し
- スライド 25 例題1
- スライド 26 関数名
- スライド 27 例題1.関数呼び出し(1)
- スライド 28 ②
- スライド 29 変数
- スライド 30 変数len をメモリエリア中に確保
- スライド 31 変数は2種類使っている
- スライド 32 関数の入力(パラメータ)
- スライド 33 この時点では
- スライド 34 実際のメモリの中身
- スライド 35 (参考)実際のメモリの中身
- スライド 36 関数呼び出し
- スライド 37 68000 アセンブラ言語での関数呼び出し
- スライド 38 68000アセンブラ言語
- スライド 39 68000アセンブラ言語
- スライド 40 68000アセンブラ言語
- スライド 41 68000アセンブラ言語
- スライド 42 68000アセンブラ言語
- スライド 43 68000アセンブラ言語
- スライド 44 68000アセンブラ言語
- スライド 45 (参考) BSVC での実行
- スライド 46 (1) システムスタックエリアの確保と,A7 へのセット
- スライド 47 .data
str1:
.ascii "My Name is David!\0...
- スライド 48 A7 に 0x0000405e
をセット
- スライド 49 (2) 関数のパラメータを,システムスタックエリアにプッシュ(push)
- スライド 50 スタック
- スライド 51 スタック
- スライド 52 スタックとキュー
- スライド 53 システムスタックエリアに
「4バイト」のデータを push
- スライド 54 (3) 関数呼び出しとリターン
- スライド 55 .data
str1:
.ascii "My Name is David!\0...
- スライド 56 システムスタックエリアに
戻り番地を push
- スライド 57 命令フェッチでは
- スライド 58 命令フェッチでは
- スライド 59 命令デコードでは
- スライド 60 命令実行では (1/2)
- スライド 61 命令実行では (2/2)
- スライド 62 .data
str1:
.ascii "My Name is David!\0...
- スライド 63 命令フェッチでは
- スライド 64 命令デコードでは
- スライド 65 rts の命令実行では
- スライド 66 (4) 関数実行の始めに,メモリエリアをダイナミックに確保(終わりで解放)
- スライド 67 .data
str1:
.ascii "My Name is David!\0...
- スライド 68 .data
str1:
.ascii "My Name is David!\0...
- スライド 69
.text
stringlength:
link.w %a6,#-8 ...
- スライド 70
.text
stringlength:
link.w %a6,#-8 ...
- スライド 71 (5) 関数内でのパラメータの使用
- スライド 72 関数のパラメータの渡し方
- スライド 73 .data
str1:
.ascii "My Name is David!\0...
- スライド 74 .data
str1:
.ascii "My Name is David!\0...
- スライド 75 (6) 関数での処理結果の,呼び出し側への引渡し
- スライド 76 68000アセンブラ言語
- スライド 77 関数での処理結果の,呼び出し側への引渡し
Converted from Powerpoint Presentation to HTML by PPT2HTML AddIn.
PPT2HTML : by AGATASHI