ステートメント:この32ビットのMASM、異なるコード16、64
-------------------------------------------------- -------------------------------------------------- -----------------------
問題が発生しました:
1、LINK 1104:
インターネットは、長い時間のために、問題を解決していません。
ソリューション:
エラーメッセージVisual Studioのコンパイラクリックした後:LINK 1104、公式ドキュメントを参照してください
理由の一つは:パスが長すぎます!(= =はい、これは)
、コンパイラエラーファイル名を変更した後、パス内のプロジェクト、通常の操作で調製した第1の文書を作成したり、新しいファイルを作成するために:私はされて発生したLINK 1104
私のパスは次のとおりです。D:\プロジェクト\ x86プロセッサ用のGit \アセンブリ\アセンブリ言語\第1章
パスを変更します:D:\プロジェクト\ Gitの\
問題ありません!
-------------------------------------------------- -------------------------------------------------- -----------------------------
1、公式のインストーラをダウンロードし、インストールコミュニティ版
2.選択:C ++使用してデスクトップ開発(または選択を:C ++でゲーム開発を使用します)
私のCドライブ2 G以上を占め、設置場所、8G程度の合計を選択してください(私のOCDが叫ん)
3、クローンまたはコードは、チェックアウト
ログイン
リモートデータベースを作成する必要がない場合は、その後、それは問題ではありません作成することはありません
3、拡張機能をインストールします
ちなみに、インストールコード、その後コンパイルハイライト
(これは私がHelloWorldのを望むものではありません!)AddTwo.asm:4、最初のコンパイルプロジェクトを作成します
OK、マップ上
ダブルクリックするか、クリックして「次へ」
世代への鍵---カスタム:
ダニMASM(.targets、.props)
来创建.asm文件,或者右键“源文件”--“添加”--“新建项”
画重点:不要用“Add New File”扩展
用插件快速创建的文件报错:
then,回到正道:(为什么不用:ctrl+shift+A创建)
Irvine 大佬的代码(学汇编可以看Assembly Language for x86 Processors的中文看版:《汇编语言 基于x86处理器》):
; AddTwo.asm - adds two 32-bit integers. ; Chapter 3 example .386 .model flat,stdcall .stack 4096 ExitProcess proto,dwExitCode:dword .code main proc mov eax,5 add eax,6 invoke ExitProcess,0 main endp end main
OK!ctrl+F5,运行,走你!
nice!
F5调试:
先打个断点
来深入了解寄存器吧!
如果没有寄存器窗口
开启汇编二进制之旅!
wait! 还有一个 列表文件
没有.lst后缀的列表文件
配置:
1、右键项目,属性
2、配置
3、重新运行(如果出现LNK 1104的错误,并且确定路径没问题,可以多尝试几次重新创建项目)
查看项目目录下:
有了!它可以帮助更好的理解汇编代码。