文件名称:
Assembly Language Succinctly Syncfusion 2013
开发工具:
文件大小: 2mb
下载次数: 0
上传时间: 2015-03-20
详细说明: Assembly Language This book is an introduction to x64 assembly language This is the language used by almost all modern desktop and laptop computers x64 is a generic term for the newest generation of the x86 CPU used by AMD Intel VIA and other CPU manufacturers x64 assembly has a steep learning curve and very few concepts from high level languages are applicable It is the most powerful language available to x64 CPU programmers but it is not often the most practical language An assembly language is the language of a CPU but the numbers of the machine code are replaced by easy to remember mnemonics Instead of programming using pure hexadecimal such as 83 C4 04 programmers can use something easier to remember and read such as ADD ESP 4 which adds 4 to ESP The human readable version is read by a program called an assembler and then it is translated into machine code by a process called assembling analogous to compiling in high level languages A modern assembly language is the result of both the physical CPU and the assembler Modern assembly languages also have high level features such as macros and user defined data types Why Learn Assembly Many high level languages Java C# Python etc share common characteristics If a programmer is familiar with any one of them then he or she will have no trouble picking up one of the others after a few weeks of study Assembly language is very different; it shares almost nothing with high level languages Assembly languages for different CPU architectures often have little in common For instance the MIPS R4400 assembly language is very different from the x86 language There are no compound statements There are no if statements and the goto instruction JMP is used all the time There are no objects and there is no type safety Programmers have to build their own looping structures and there is no difference between a float and an int There is nothing to assist programmers in preventing logical errors and there is no difference between execute instructions and data There are many differences between assembly languages I could go on forever listing the useful features that x64 assembly language is missing when compared to high level languages but in a sense this means that assembly language has fewer obstacles Type safety predefined calling conventions and separating code from data are all restrictions These restrictions do not exist in assembly; the only restrictions are those imposed by the hardware itself If the machine is capable of doing something it can be told to do so using its own assembly language A French person might know English as their second language and they could be instructed to do a task in English but if the task is too complicated some concepts may be lost in translation The best way to explain how to perform a complex task to a French person is to explain it in French Likewise C++ and other high level languages are not the CPU"s native language The computer is very good at taking instructions in C++ but when you need to explain exactly how to do something very complicated the CPU"s native language is the only option 14 Another important reason to learn an assembly language is simply to understand the CPU A CPU is not distinct from its assembly language The language is etched into the silicon of the CPU itself Intended Audience This book is aimed at developers using Microsoft"s Visual Studio This is a versatile and very powerful assembly language IDE This book is targeted at programmers with a good foundation in C++ and a desire to program native assembly using the Visual Studio IDE professional versions and the express editions The examples have been tested using Visual Studio and the assembler that comes bundled with it ML64 exe the 64 bit version of MASM Microsoft"s Macro Assembler Having knowledge of assembly language programming also helps programmers understand high level languages like Java and C# These languages are compiled to virtual machine code Java Byte Code for Java and CIL or Common Intermediate Language for NET languages The virtual machine code can be disassembled and examined from NET executables or DLL files using the ILDasm exe tool which comes with Visual Studio When a NET application is executed by another tool ILAsm exe it translates the CIL machine code into native x86 machine code which is then executed by the CPU CIL is similar to an assembly language and a thorough knowledge of x86 assembly makes most of CIL readable even though they are different languages This book is focused on C++ but this information is similarly applicable to programming high level languages This book is about the assembly language of most desktop and laptop PCs Almost all modern desktop PCs have a 64 bit CPU based on the x86 architecture The legacy 32 bit and 16 bit CPUs and their assembly languages will not be covered in any great detail MASM uses Intel syntax and the code in this book is not compatible with AT&T assemblers Most of the instructions are the same in other popular Intel syntax assemblers such as YASM and NASM but the directive syntax for each assembler is different ">Assembly Language This book is an introduction to x64 assembly language This is the language used by almost all modern desktop and laptop computers x64 is a generic term for the newest generation of the x86 CPU used by AMD Intel VIA and other CPU manufacturers x64 assembly has a steep learning [更多] ...展开收缩
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.