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

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.

主站蜘蛛池模板: 灵璧县| 呼伦贝尔市| 福清市| 井陉县| 六枝特区| 双鸭山市| 遵义县| 东辽县| 张掖市| 驻马店市| 屏边| 郑州市| 鄯善县| 大宁县| 广丰县| 南靖县| 榆社县| 洛阳市| 安多县| 焉耆| 聊城市| 沅陵县| 嵊州市| 青浦区| 井研县| 鹤山市| 河北省| 稷山县| 大安市| 磐安县| 江源县| 东光县| 张家港市| 汉寿县| 浑源县| 渑池县| 桐城市| 吉木萨尔县| 瑞昌市| 鄂托克旗| 长海县|