汇编语言的编程方式和c语言编程方式有什么异同?

对于c语言中的赋值语句,如i=j+k;还有条件语句:if……then……;循环语句for(……)等,用汇编语言怎么对应实现?给出一个实现的思路或框架。

第1个回答  2017-03-08
高级语言编译成低级语言是一个很复杂的过程。高级语言里i=j+k;一句简单的赋值到了汇编语言,可能因编译配置、平台、函数属性的不同而生成完全不同的代码。在汇编语言里是没有任何可见的变量的,所有的变量都被转化为对应的地址值。
例如有语句:
int i,j,k;
....
i=j+k;
则在32位机的汇编语言中可能表示为:
MOV EAX, DWORD PTR[ESP+0x0C] ;语句1
MOV EBX, DWORD PTR[ESP+0x08] ;语句2
ADD EAX,EBX ;语句3
MOV DWORD PTR[ESP+0x04] ;语句4
语句1表示将ESP+0x0C所指向的地址开始的4字节内容(即变量k)复制到EAX寄存器
语句2表示将ESP+0x08所指向的地址开始的4字节内容(即变量j)复制到EBX寄存器
语句3表示计算EAX和EBX寄存器之和,结果回存到EAX寄存器
语句4表示将EAX寄存器的值复制到ESP+0x04所指向的地址开始的4字节空间内(即变量i处)
if...else的选择语句一般是通过JG/JNG、JL/JNL、JE/JNE等带条件的跳转指令实现的,它们会比较标志寄存器上对应标志位的值来判断是否跳转。while、for等选择语句也是同理,只不过它们是在循环结束时跳转到标签标注的循环起点处,而不是跳转到后面的某条语句,以此实现循环。本回答被提问者和网友采纳

汇编语言与C语言有什么区别
1、操作复杂程度的不同 c语言,与汇编语言相比,c语言在更加接近人的一般思维,因此在程序的设计过程中比较容易操作,此外在进行一些复杂的操作,运算时,c语言比汇编就要简单很多,尤其是c语言中的丰富的函数库,可以直接实现一些原本很复杂的功能,并且从代码量来说任意一个c语言程序,通过反汇编之后变成...

汇编语言与C语言有什么区别
汇编语言与C语言的区别:1、在汇编语言中,为一个处理器编写的程序不能在另一种类型的处理器上运行。在C语言程序中,程序独立于处理器类型运行。2、汇编语言代码的性能和准确性优于C代码。3、C语言必须提供额外的指令来在计算机上运行代码。4、汇编语言代码比C代码难以理解和调试。5、 一个或两个C...

汇编语言和c语言的区别
1. 汇编语言与C语言在程序设计中扮演着不同的角色。C语言是一种高级编程语言,其表达能力强,易于人类理解,但必须通过编译器转换为机器码,即汇编语言,才能被计算机执行。2. 两者在语法结构上存在显著差异。C语言的语法结构接近人类语言,而汇编语言则直接面向机器,它通过助记符来代表机器码。3. 汇编...

C语言与汇编程序有什么区别啊?
2、执行效率的不同 C语言它是一种比较特殊的语言,它具备高级与低级语言的特性,可以直接对硬件进行操作,又可以进行一些问题的编程,语句可以说是最简单易懂的了汇编则不同,它直接作用与硬件。basic就更高级,它需要专门的平台兼容性好,还有C++和C差不多,但是C++是针对对象的编程,操作系统游戏等,...

汇编与C语言相比较,有什么不同呢?
一、作用不同:JBC指令判断该位为1则转移,同时将该位置0。JC指令判断有借位则转移,也就是说两数相减为负转移。二、含义不同:JBC指令相当与JB和CLR (位) 二条指命的组合,它可在转移的同时清除被判位;JC指令只能对CY进位位进行判断为高后转移,并不能清除它,二条指令都当被测位为高进时...

c语言和汇编语言哪个难(c语言跟汇编语言的区别)
汇编和C语言哪个难一些1、其实这两种都属于结构化编程语言。C相对于更容易接受一些!并且不用去考虑内存的分配,变量的存储,所以刚开始学编程,可以先学C,但是到指针的话还是要了解一下计算机内存相关的问题。2、在这2种编程语言中,汇编语言难度明显大于c语言,因为c语言是高级语言,而汇编语言不像...

汇编与c语言在程序编写和开发流程有哪些异同
首先,C语言能够提供高级抽象,允许开发者以更高级的编程方式编写代码,而汇编语言则直接操作硬件寄存器和内存地址,实现底层控制。其次,C语言拥有丰富的数据类型、结构体和函数库,可以方便地实现复杂逻辑和数据处理,而汇编语言在这些方面则较为有限。再者,C语言的语法结构相对统一,易于阅读和维护,而汇编...

C语言和汇编语言的区别是什么?
(1)两者编译组成不同。汇编语言是将由0、1组成的机器语言用具有简单语义的英文代码表示,而C语言不但将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等。(2)两者被计算机识别的路径不同。汇编语言通常用于对硬件的直接操控。而且C语言所...

汇编与c语言哪个
一、明确答案 汇编语言比C语言更接近计算机硬件,因为它直接操作机器指令。这意味着汇编语言具有更高的执行效率和更精细的控制能力,但同时也带来了更高的学习难度和复杂性。二、详细解释 1. 汇编语言的特性:汇编语言是计算机编程中较低层次的语言,它直接与计算机的机器语言指令相对应。程序员通过编写汇编...

汇编和c哪个难
1. 语言抽象级别: C语言是一种高级语言,相对于汇编语言,它的抽象级别更高。这意味着C语言更接近于人类思维,开发者可以直接使用更自然的方式来表达意图,而无需关心计算机底层细节。而汇编语言是一种低级语言,更接近计算机硬件,需要开发者深入了解计算机的底层运作机制。2. 复杂性: 汇编语言需要了解...

相似回答