パソコン初心者です。
Windows XPにアセンブラ「NASM」をダウンロードしました。
コマンドプロンプトで簡単なプログラムを実行しようと思います。
以下がプログラムです。
; dispchar.asm
mov ah,02
mov dl,31h
int 21h
mov ah,4ch
mov al,0
int 21h
コマンドプロンプトに「; dispchar.asm」と入力すると、内部コマンド、外部コマンドまたは操作可能なファイル、バッチファイルとして認識されていません」と出ます。
同様に、「mov ah,02」から入力しても同様のコメントが返ってきます。
プログラムを実行するにはどうすればよいでしょうか?
No.2ベストアンサー
- 回答日時:
1 nasmw.exeのあるディレクトリでコマンドプロンプトを開きます。
2 notepad test.sを入力
3 メモ帳が立ち上がり「test,sを作成しますか」と聞かれるので「はい」
を選択
4 ; dispchar.asm
mov ah,02
mov dl,31h
int 21h
…
をメモ帳に打ち込み、保存して閉じる。
5 nasmw test.s -o test.exeをコマンドプロンプトに打ち込む。
6 dirで、test.exeができているか確認
7 testを実行し、コマンドプロンプトに1と表示されていれば成功
この回答への補足
ご回答ありがとうございます。
6のtest.exeを作成するところまでできました。
しかし、7でコマンドプロンプトでtestを実行すると
「¥testは有効なWin32アプリケーションではありません」と表示され、コマンドプロンプトには、「アクセスが拒否されました」と出ます。
これはどういう意味でしょうか?また、どうすればよいですか?
No.5
- 回答日時:
参照URLを最初から読み進めていっていただくのが一番いいとは思いますが、
とりあえずこの件については「16ビットNASMプログラミング」章の中の「コンパイル」のところを良く読んでみてください。
参考URL:http://ruffnex.oc.to/kenji/text/asmbook/
No.4
- 回答日時:
少し勘違いなさっているかもしれません。
前回の説明で、>> 作成なさったプログラムは16bit
と書きましたが、これは「作成されたプログラムだけ」が16bitという意味です。したがいまして、その他の作業は32bit環境で実行しなければなりません。
NASMでアセンブルするときは、通常(32bit環境)のコマンドプロンプトで行い、実行プログラム(何とか.exe)が生成されたら、16bitのコマンドプロンプトを起動して実行・・・という手順になります。お試しください。
No.3
- 回答日時:
WinXPで通常起動されるコマンドプロンプトは、「32bit対応」だからではないでしょうか。
以下のいずれかの方法で「16bitのコマンドプロンプト」を起動して実行した場合はいかがでしょうか。(1)通常のコマンドプロンプトから“command”とタイプして出現するコマンドプロンプトで実行する。
(2)「スタート」から「ファイル名を指定して実行」をクリック。「名前」の欄に“command”とタイプして出現するコマンドプロンプトで実行する。
上記のいずれの方法でも、16bitのコマンドプロンプトが起動されます。作成なさったプログラムは16bitなので、これで動くと思いますが・・・。自身で実行していませんので、参考にしてください。
なお、この方法で起動したコマンドプロンプトをそのまま閉じようとするとエラーではありませんが、警告が出ます。そのまま閉じてもいいですが、以下の方法で終了してください。
(1)で起動したときは、16bitのコマンドプロンプト上で“exit”とタイプすると、32bitバージョンに戻ります。その後、ウィンドウを閉じることができます。
(2)の方法で起動したときは、同じく“exit”をタイプすることでコマンドプロンプトそのものが終了します。
この回答への補足
「16bitのコマンドプロンプト」で実行してみました。
回答No.2の方法でやってみると、プログラムを実行ファイルに生成する段階で「NASM:FATAL:UNABLE TO OPEN INPUT TEST.S」と表示されます。
これはどういう意味でしょうか?また、どう対処すればよいですか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# Cのオブジェクトファイルの逆アセンブル 5 2023/05/13 01:51
- C言語・C++・C# exeファイルが作れない(windows10) 6 2022/08/13 08:47
- その他(プログラミング・Web制作) x86_32のGASの擬似命令 3 2023/06/07 19:55
- Windows Me・NT・2000 コマンドプロンプトのdisk partについて 2 2023/03/05 15:49
- Windows 10 拡張子の変更方法 7 2022/05/07 11:47
- MySQL mysqlがインストールされているのかどうか 1 2023/06/05 14:19
- MySQL mysqlがインストールされているのかわかりません 1 2023/06/05 02:26
- C言語・C++・C# このプログラミングの問題を教えて欲しいです。 キーボードから整数kを入力し、kが配列aの中に何個存在 2 2022/12/19 22:50
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- C言語・C++・C# 現在プログラムを作っているのですが、実行したときに写真のように結果が表示されるのですが、これを CH 2 2023/01/18 16:22
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
起動していないのに「既に起動...
-
PCで決まった時間に音楽を流す...
-
起動したソフトがタスクに表示...
-
クリップNOTEの使い方教えてく...
-
常駐ソフトをはずしたいのですが
-
adobe gamma loaderとは?
-
特定のソフトだけ不正で立ち上...
-
Adobe Readerの常駐をやめさせたい
-
マカフィーを一時的に停止させ...
-
wpsupdateとは?
-
ソフト終了後に常駐するプログ...
-
メモリなしでPCは起動する?
-
ノートパソコンの蓋は電源を切...
-
ping 一般エラー。
-
シャットダウン前に指定メッセ...
-
Edge起動時の日本語入力
-
ubuntuでキーボードが一部反応...
-
マウスを動かすとデスクトップ...
-
LANケーブル抜き差しについて
-
キーボードの「Y」の字だけ打...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PCで決まった時間に音楽を流す...
-
起動していないのに「既に起動...
-
クリップNOTEの使い方教えてく...
-
Nvidia ドライバの常駐を解除し...
-
adobe gamma loaderとは?
-
マカフィーを一時的に停止させ...
-
常駐ソフトをはずしたいのですが
-
起動したソフトがタスクに表示...
-
タスク(スケジューラ)をバッ...
-
パソコンの動作を制限するソフト
-
GV-USB2のLightCapture.exeを終...
-
wpsupdateとは?
-
ゲームソフト「下級生2」が起...
-
外付けHDDの「汎用ボリュー...
-
アイコンにバツ印が?
-
ID Managerというソフトがタス...
-
モニターが原因?
-
パソコン立ち上げ時かなり時間...
-
ワンセグソフトが起動できない
-
コマンドプロンプトが勝手に起...
おすすめ情報