官术网_书友最值得收藏!

Microsoft Macro Assembler

As the name of this assembler states, it supports macros and has a nice set of built-in ones. However, it is hard to find a more or less valuable assembler without this feature today.

The first assembler I ever used was Macro Assembler (MASM) (I do not remember which version) on DOS installed on a Sony laptop with 4-MB RAM and a 100-MB hard disk (ah, good old times), and MS-DOS edit.exe was the only IDE. Needless to say, the compilation and linking was performed manually in the command line (as if DOS had any other interface).

In my opinion, this is the best way to learn Assembly or any other programming language--just a simple editor with as few features as possible (however, syntax highlighting is a great advantage, as it helps in avoiding typos) and a set of command-line tools. Modern integrated development environments (IDEs) are very complex, yet very powerful tools, and I am not trying to underestimate them; however, it is much better to use them once you understand what happens behind this complexity.

However, the intent behind this book is to learn the language the CPU speaks, not a specific Assembly dialect or specific assembler command-line options. Not to mention the fact that the currently available Microsoft Visual Studio 2017 Community (the easiest way to get MASM is to install Visual Studio 2017 Community--free and convenient) comes with several assembler binaries:

  • A 32-bit binary that produces 32-bit code
  • A 32-bit binary that produces 64-bit code
  • A 64-bit binary that produces 32-bit code
  • A 64-bit binary that produces 64-bit code

Our goal is to know how the CPU thinks rather than how to make it understand our thoughts and how we can find the location of libraries and executables installed on the system. Therefore, if MASM is your choice, it's good to use Visual Studio 2017 Community, as it will save you a lot of time.

主站蜘蛛池模板: 仁布县| 奉节县| 库尔勒市| 湖南省| 洪泽县| 静宁县| 鄂托克前旗| 古浪县| 丰原市| 吉林省| 新乡县| 保德县| 衢州市| 西峡县| 清水河县| 华池县| 灌南县| 六安市| 柘城县| 腾冲县| 日喀则市| 福清市| 巩义市| 岚皋县| 隆尧县| 嫩江县| 海原县| 家居| 永济市| 青川县| 兴安盟| 乳山市| 北流市| 西昌市| 陈巴尔虎旗| 池州市| 讷河市| 元氏县| 岑溪市| 通化市| 拜城县|