No.1ベストアンサー
- 回答日時:
確かアセンブリ言語はCPUに依存するので対象CPUが分からないと答えられないのではないかと思うのですが。
。。--------------------------------------------------------
よく使われる80x86系CPUを対象とした場合として仮定します。
C言語で簡単なコピープログラムを記述し混合モードの結果を表示すれば、どんなアセンブリコードとなっているのか分かるのではないかと思います。
内容については、調べていません。
--[Source Code]--
int main()
{
char buf1[256] = {0};
char buf2[256];
int imax = 256;
for(int i = 0 ; i < imax ; i++) {
buf2[i] = buf1[i];
}
}
--[混合モード表示結果]--
int main()
{
00A413A0 push ebp
00A413A1 mov ebp,esp
00A413A3 sub esp,2ECh
00A413A9 push ebx
00A413AA push esi
00A413AB push edi
00A413AC lea edi,[ebp-2ECh]
00A413B2 mov ecx,0BBh
00A413B7 mov eax,0CCCCCCCCh
00A413BC rep stos dword ptr es:[edi]
00A413BE mov eax,dword ptr [___security_cookie (0A47004h)]
00A413C3 xor eax,ebp
00A413C5 mov dword ptr [ebp-4],eax
char buf1[256] = {0};
00A413C8 mov byte ptr [ebp-108h],0
00A413CF push 0FFh
00A413D4 push 0
00A413D6 lea eax,[ebp-107h]
00A413DC push eax
00A413DD call @ILT+115(_memset) (0A41078h)
00A413E2 add esp,0Ch
char buf2[256];
int imax = 256;
00A413E5 mov dword ptr [ebp-21Ch],100h
for(int i = 0 ; i < imax ; i++) {
00A413EF mov dword ptr [i],0
00A413F9 jmp main+6Ah (0A4140Ah)
00A413FB mov eax,dword ptr [i]
00A41401 add eax,1
00A41404 mov dword ptr [i],eax
00A4140A mov eax,dword ptr [i]
00A41410 cmp eax,dword ptr [ebp-21Ch]
00A41416 jge main+94h (0A41434h)
buf2[i] = buf1[i];
00A41418 mov eax,dword ptr [i]
00A4141E mov ecx,dword ptr [i]
00A41424 mov dl,byte ptr [ebp+ecx-108h]
00A4142B mov byte ptr [ebp+eax-210h],dl
}
00A41432 jmp main+5Bh (0A413FBh)
}
00A41434 xor eax,eax
00A41436 push edx
00A41437 mov ecx,ebp
00A41439 push eax
00A4143A lea edx,[ (0A41468h)]
No.3
- 回答日時:
PDP-11 じゃなくて, 他のプロセッサなら書けますか?
あるいは, アセンブリ言語じゃなくて他の言語 (例えば C) でなら (ライブラリなどを使わずに) 書けますか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 相続・遺言 自筆遺言書における不動産の表示の仕方 2 2022/04/19 10:43
- Visual Basic(VBA) 2つのシートの任意のセルの番号が一致したら、一致した行をコピーする VBA 2 2023/06/19 20:48
- C言語・C++・C# C#のSystem.Windows.Media.Colorに関する質問です。 3 2022/05/18 11:51
- 英語 「第2文型主語のwhat節が前置詞の目的語である場合に、補語の前に同じ前置詞が必須なのか」について 2 2023/05/12 11:17
- ノートパソコン 外国語の削除方法を教えて下さい 2 2023/01/01 11:33
- 英語 英語は時代を遡ること1000年以上前の時期、イングランド語は低地ドイツ語に属しており、現代英語の元に 1 2023/07/05 17:19
- 英語 that 仮主語? 3 2022/08/11 14:45
- 大学受験 高3 この英語の訳が分かりません。 It shows the damaged spacecraft' 3 2022/06/26 13:44
- 自動車税 軽自動車税の住所変更を4/2以降に手続きした場合、4/1の時点で登録してある使用者所有者の住所先に納 1 2022/04/02 12:58
- HTML・CSS リンクバナーのHTMLタグ。画像を変えたり、設置位置を変えるとバナー貼付け側はどう見える? 2 2023/02/01 12:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語
-
「指定されたキャストは有効で...
-
C言語での引数の省略方法
-
if と配列の組み合わせ
-
#define _CRT_SECURE_NO_WARNIN...
-
実数の整数部,小数部の取得
-
C言語 エラーの原因がわからな...
-
数字列を3桁ごとにカンマで区切...
-
異なる文字列のマッチングを、D...
-
C言語での奇数の和
-
複数桁10進数の*桁目だけを抽出...
-
C言語の基礎 . 2乗値の差につ...
-
入力を待たずにstdinの監視をし...
-
比較回数と交換回数表示について
-
c言語 問題
-
c言語の配列を使ってサイコロを...
-
systemの戻り値を取得する方法
-
構造体の勉強中です 合計点の高...
-
アスタリスクでダイヤ型を作る
-
卒業研究でよく分からないとこ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語での引数の省略方法
-
#define _CRT_SECURE_NO_WARNIN...
-
「指定されたキャストは有効で...
-
C言語 配列と関数の練習問題
-
複数桁10進数の*桁目だけを抽出...
-
(int *)の意味
-
if と配列の組み合わせ
-
ラップ関数とはどんなものですか?
-
卒業研究でよく分からないとこ...
-
【C++】関数ポインタの使い方
-
c言語
-
足して100になるような乱数のア...
-
C言語初心者です、、、お助けく...
-
数字列を3桁ごとにカンマで区切...
-
C言語 エラーの原因がわからな...
-
実数の整数部,小数部の取得
-
課題でつまってます・・・
-
商と剰余を同時に求める(C言語)
-
C言語の配列をC++のvectorに高...
-
std::set<int> で、ある値が何...
おすすめ情報