下のようなソースをアセンブルすると
6:error: parser: instruction expected
という、エラーが出ます。
movah,2
movdl,DATA
int21h
movax,4c00h
int21h
DATAbyte'A'
6行目に問題があるようなので下のように書き直したらきちんと動作しました。どうして、上のような記述ではうまくいかないのでしょうか??
movah,2
movdl,'A'
int21h
movax,4c00h
int21h
環境はwindowsXPでnasmとalinkを使っています。
nasmw test.asm -fobj
alink test.obj -oEXEとしてアセンブルしました。
わかる方お願いいたします。
No.3ベストアンサー
- 回答日時:
"instruction expected"というメッセージですが、これは「この場所には命令語が来るはず」(ここには命令語を置くことが望まれる)と言う意味です。
単純分岐命令の次にデータ行を記述するのであればエラーにはなりませんが、まだ命令語による処理が続くと推定されるような記述はしないほうがいいです。
質問者さんのプログラムでは、二番目の"int 21h"で割り込むと、割り込み処理側で'A'というデータを認識して、再び割り込み位置に復帰してこないからいいのだ、という意味がくみ取れるのですが、そのような技法は使用しないほうがいいと警告されたようなものでしょう。
この件は、アセンブル段階で「プログラム暴走」がチェックアウトされたと考えればよろしいです。
詳しく説明していただきどうもありがとうございます。大変わかりやすかったです。まだまだ、アセンブリ言語は理解出来ていない所が多いので、もう一度勉強してみます。どうもありがとうございました。
No.2
- 回答日時:
DATAという語は、masm系ではsection名の予約語で
データ名称(変数名)には使えません。別の名称で
試してみてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) VScodeでpythonプログラムの関数を実行したい 2 2022/07/13 19:24
- C言語・C++・C# 質問です 下記のコードを分かりやすく解説お願いします 初心者です #include ‹stdio.h 3 2022/05/26 22:03
- C言語・C++・C# スタックフレームの消滅 6 2023/05/20 12:33
- JavaScript [再掲]指定したパスが現URLに含まれていたら特定要素を削除するJavascriptのコードについて 1 2023/05/10 15:09
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- Visual Basic(VBA) VBAでfunctionを利用しようとしたときに「引数は省略できません」というエラーが出ます 1 2022/10/15 16:30
- Visual Basic(VBA) Powerpointでランダムな数字の結果を表示するマクロ 2 2023/08/04 10:04
- Visual Basic(VBA) Excle VBA Findメソッドについて 3 2022/07/15 13:56
- Mac OS PATHを使ってcdなどで簡単に移動できるようになりたい 3 2023/05/13 14:22
- オープンソース Vue+Laravelのデザインテンプレートのサンプルが起動できない 1 2022/05/18 21:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
命令網羅率の計算問題です
-
組み込みCプログラムで実数型
-
MIPS アセンブリ言語
-
私は
-
なぜ、i++なのか?(ものすごく...
-
arduino
-
VBAでのコントロール操作
-
アセンブリ言語で。
-
EXCELでの16進数取り出し、上...
-
【有効数字について】 授業で、...
-
1Mバイトって何バイト?
-
文字の容量(サイズ)についての...
-
K KB MB について詳し...
-
基本情報技術者試験問題
-
32bit = 4GB(バイト)?
-
12万の5%はいくらですか?
-
CSV データのバイト数を調べる...
-
携帯電話の略語であるMBって英...
-
1メガ、1ギガはナンバイトですか?
-
エクセルでビット1をカウント J...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
組み込みCプログラムで実数型
-
MIPS と クロック周波数の換算方法
-
プログラム言語FortranとCの違...
-
arduino
-
VBAでのコントロール操作
-
アセンブリ言語で。
-
パイプライン処理の処理能力に...
-
VB.net2010 割り込みの共通化
-
応用情報技術者試験問題の解き...
-
任天堂64の64 CPUの仕...
-
COM1(RS232C)とUSB仮想COMポー...
-
命令網羅率の計算問題です
-
VBSとVBA
-
なぜ、i++なのか?(ものすごく...
-
Intel の CPU
-
MIPSとか
-
ステート数とは
-
RPG画面系システムについて
-
H8Sで割り込み発生時の飛び先ア...
-
シーケンスプログラムについて...
おすすめ情報