汇编语言程序是什么

汇编语言程序是什么,第1张

问题一:什么是汇编语言? 计算机程序设计语言的发展,经历手消态了从机器语言、汇编语毕源言到高级语言的历程。

1. 机器语言

电子计算机所使用的是由“0”和“1”组成的二进制数,二进制是计算机的语言的基础。计算机发明之初,人们只能降贵纡尊,用计算机的语言去命令计算机干这干那,一句话,就是写出一串串由“0”和“1”组成的指令序列交由计算机执行,这种语言,就是机器语言。使用机器语言是十分痛苦的,特别是在程序有错需要修改时,更是如此。而且,由于每台计算机的指令系统往往各不相同,所以,在一台计算机上执行的程序,要想在另一台计算机上执行,必须另编程序,造成了重复工作。但由于使用的是针对特定型号计算机的语言,故而运算效率是所有语言中最高的。机器语言,是第一代计算机语言。

2. 汇编语言

为了减轻使用机器语言编程的痛苦,人们进行了一种有益的改进:用一些简洁的英文字母、符号串来替代一个特定的指令的二进制串,比如,用“A D D”代表加法,“M O V”代表数据传递等等,这样一来,人们很容易读懂并理解程序在干什么,纠错及维护都变得方便了,这种程序设计语言就称为汇编语言,即第二代计算机语言。然而计算机是不认识这些符号的,这就需要一个专门的程序,专门负责将这些符号翻译成二进制数的机器语言,这种翻译程序被称为汇编程序。

汇编语言同样十分依赖于机器硬件,移植性不好,但效率仍十分高,针对计算机特定硬件而编制的汇编语言程序,能准确发挥计算机硬件的功能和特长,桥裤程序精炼而质量高,所以至今仍是一种常用而强有力的软件开发工具。

3. 高级语言

从最初与计算机交流的痛苦经历中,人们意识到,应该设计一种这样的语言,这种语言接近于数学语言或人的自然语言,同时又不依赖于计算机硬件,编出的程序能在所有机器上通用。经过努力,1 9 5 4年,第一个完全脱离机器硬件的高级语言―F O RT R A N问世了,4 0多年来,共有几百种高级语言出现,有重要意义的有几十种,影响较大、使用较普遍的有F O RT R A N、A L G O L、C O B O L、B A S I C、L I S P、S N O B O L、P L / 1、P a s c a l、C、P R O L O G、A d a、C + +、V C、V B、D e l p h i、J AVA 等。

高级语言的发展也经历了从早期语言到结构化程序设计语言,从面向过程到非过程化程序语言的过程。相应地,软件的开发也由最初的个体手工作坊式的封闭式生产,发展为产业化、流水线式的工业化生产。

6 0年代中后期,软件越来越多,规模越来越大,而软件的生产基本上是人自为战,缺乏科学规范的系统规划与测试、评估标准,其恶果是大批耗费巨资建立起来的软件系统,由于含有错误而无法使用,甚至带来巨大损失,软件给人的感觉是越来越不可靠,以致几乎没有不出错的软件。这一切,极大地震动了计算机界,史称“软件危机”。人们认识到:大型程序的编制不同于写小程序,它应该是一项新的技术,应该像处理工程一样处理软件研制的全过程。程序的设计应易于保证正确性,也便于验证正确性。1 9 6 9年,提出了结构化程序设计方法,1 9 7 0年,第一个结构化程序设计语言―P a s c a l语言出现,标志着结构化程序设计时期的开始。

8 0年代初开始,在软件设计思想上,又产生了一次革命,其成果就是面向对象的程序设计。在此之前的高级语言,几乎都是面向过程的,程序的执行是流水线似的,在一个模块被执行完成前,人们不能干别的事,也无法动态地改变程序的执行方向。这和人们日常处理事物的......>>

问题二:什么是汇编语言 汇编语言它是计算机语言,计算机语言说通俗点就是人类与计算机(CPU)沟通的桥梁,计算机它不认识人类的语言,听不懂也读不懂,要让计算机替我们去完成我们的工作,就需要我们将要交给计算机完成的任务翻译为计算机语言。汇编语言是各种语言中的一种,它属于低级的计算机语言,这是相对于面向过程的C语言,以及面向对象的C++,java而言。它是除机器语言以外最接近硬件的计算机语言,而且可以通过学习汇编语言深入的了解 *** 作系统的底层运行机制,并以CPU的角度思考问题。这样可以让你在编写高级语言的程序的时候避免很多错误,并且能更深入理解高级语言的执行 原理。因为汇编语言属于低级语言,所以既然低级就肯定不容易被普通用户认识,这需要一定的硬件基础知识和一些计算机工作原理的知识。以前在大学阶段学过汇编语言,但没有当回事儿,连作业都是复制加粘贴完成的(像这样的不在少数吧:))。工作以后才发现这个语言是个好东西,它其实是个非常重要的基础课程。所以现在有时间就把书打开多看一点,学一点。汇编语言目前常见的有两种:一个是基于8086/88架构的DOS下的16位汇编语言,还有就是基于80386架构及其以后型号的windows下32位汇编语言。我不知道linux下有没有汇编语言。顺便说一下,不管什么汇编语言它所编出来的程序都属于软件,所以不管什么软件都需要依赖 *** 作系统这个基础平台,它才可以被硬件CPU所执行,因为 *** 作系统就是提供硬件与用户之间的接口,所有软件都要通过它来分配到硬件资源(不知道对不对哈:)才可以被执行)。一般先学习16位的DOS汇编,然后再学32位的windows汇编。所以我们先谈谈16位的DOS汇编哈。要学汇编语言首先就是要了解CPU,你只有了解了CPU才能了解汇编语言的执行,因为它基本就是直接在 *** 作CPU的各个组成单元(像寄存器)。在 *** 上找了这个图,如下:上面这个CPU的逻辑结构图是8088的,8088和8086大的架构差不多,所以就以这个为例介绍下各个组成部分的作用。主寄存器:AX(AH,AL)累加寄存器,一般用作暂存数据;BX(BH,BL)基址寄存器,一般用作偏移地址存放;CX(CH,CL)计数寄存器,一般用在循环控制次数;DX(DH,DL)数据寄存器,好像和AX差不多吧;SP堆栈指针寄存器,栈指针;BP基址指针寄存器,可作SP使用;SI源变址寄存器和DI目的变址寄存器,这两个做为BX扩展用于偏移地址存放。段寄存器: CS:代码段寄存器,任何一个程序都是从代码段开始执行的,CS寄存器指明了代码段的段地址。DS:数据段寄存器,存放程序中数据部分的段地址。SS:堆栈段寄存器,堆栈是内存中特殊的内存块,堆与栈不同,目前我只知道栈是尊循“先进后出,后进先出”的原则而使用。ES:附加段寄存器,应该是作为DS数据段寄存器的扩充吧。地址加法器: 这是用在对内存寻址时所使用,它通过将段寄存器中的段地址与BX、SI、DI等寄存器中的偏移地址作一定处理从而输出物理地址,然后就可以访问内存单元了。汇编程序中的地址只是逻辑地址,并不是真实的内存上的地址。在程序实际运行时每次访问内存都会先将逻辑地址转换成物理地址才可以访问到物理内存。关于CPU寻址,逻辑地址,物理地址我也会再写篇文章来讨论。逻辑运算单元和控制单元:这是CPU最核心的单元,我们暂只记住它们是负责执行与控制就好了。内部数据,地址总线:CPU内部各部件之间通信的通道。外部地址总线:用来传输CPU想要读取/写入内存单元的物理地址。它的宽度就决定了CPU能够访问的内存的最大容量。外部数据和控制总......>>

问题三:简述用汇编语言进行程序设计的步骤。 汇编语言程序设计步骤:

(1)分析问题:已知条件、要解决的问题、功能/性能要求等。

(2)建立数学模型:把问题数学化、公式化,便于计算机处理。

(3)确定算法:简单、速度快、精度高、代码量小、编程容易。

(4)绘制程序流程图:用箭头、框图、菱形图等表示程序结构。

(5)内存空间分配:为程序或数据分配内存空间。

(6)编制程序与静态检查:程序结构层次简单、清楚、易懂。

(7)程序调试:利用调试软件DEBUG进行调试。

问题四:1、汇编程序与汇编语言源程序的区别? 汇编程序是汇编语言源程序经过编译后的结果

用标号是为了标记程序段,内存段,跳转位置等等

loop p ov add1可以

问题五:编程语言和汇编语言有什么区别啊 计算机语言从低级到高级可以分为:

机器语言,即由0、1组成的机器硬件可以识别的语言;

低级语言,即汇编语言

中级语言,如C语言

高级语言,如C++,JAVA,C#等。

汇编语言是将由0、1组成的机器语言用具有简单语义的英文代码表示,以便于理解和程序员编程。汇编语言通常用于对硬件的直接 *** 控。由于汇编语言编写的程序很小,所以通常在程序中最核心的、控制硬件的代码可以采用汇编语言编写,一方面是安全,另一方面提高运行速度。

对于计算机的初学者,应该从中高级语言学起,如c语言,vb,java等,如果你是想要学习如何编程,学习一到两门高级语言已经够用了。

如果你已经掌握了基本的编程技能,最好是可以学习数据结构和 *** 作系统以及计算机硬件的基本工作原理,以便优化你编写的程序,提高安全性和运行效率。

如果你想要从事更高级的开发工作,则可能需要学习汇编语言。

在高校中,计算机科技专业的学生汇编语言是必修课,而软件工程专业的学生则对汇编语言不做要求。

至于汇编与编程的区别是显而易见的,汇编语言是一种用于编写某些程序的语言。而编程则是程序员用某种语言编写程序的过程。

问题六:汇编语言是什么扩展名 .ASM的扩展名

问题七:汇编语言程序的开发有哪4个步骤 编辑:使用记事本,生成:*.ASM 文件。 编译:使用 MASM.EXE ,生成:*.OBJ 文件。 连接:使用 LINK.EXE,生成:*.EXE 文件。 执行:使用 *.EXE 文件。

问题八:汇编语言子程序是如何定义的? 直接jmp跳转过去,然后ret回来。

call xxx

xxx proc uses eax,esi,edi,var:ddword......

xxx endp

也可以带参数的。第二种方式格式就是这样,说白了也是jmp跳转。只是经过了编译器优化。防止程序员跳转,导致堆栈前后不对齐。

问题九:汇编语言有什么特点 汇编语言的总体特点1.机器相关性

这是一种面向机器的低级语言,通常是为特定的计算机或系列计算机专门设计的。因为是机器指令的符号化表示,故不同的机器就有不同的汇编语言。使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。

2.高速度和高效率

汇编语言保持了机器语言的优点,具有直接和简捷的特点,可有效地访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等,且占用内存少,执行速度快,是高效的程序设计语言。

3.编写和调试的复杂性

由于是直接控制硬件,且简单的任务也需要很多汇编语言语句,因此在进行程序设计时必须面面俱到,需要考虑到一切可能的问题,合理调配和使用各种软、硬件资源。这样,就不可避免地加重了程序员的负担。与此相同,在程序调试时,一旦程序的运行出了问题,就很难发现。

优点

1、因为用汇编语言设计的程序最终被转换成机器指令,故能够保持机器语言的一致性,直接、简捷,并能像机器指令一样访问、控制计算机的各种硬件设备,如磁盘、存储器、CPU、I/O端口等。使用汇编语言,可以访问所有能够被访问的软、硬件资源。

2、目标代码简短,占用内存少,执行速度快,是高效的程序设计语言,经常与高级语言配合使用,以改善程序的执行速度和效率,弥补高级语言在硬件控制方面的不足,应用十分广泛。

缺点

1、汇编语言是面向机器的,处于整个计算机语言层次结构的底层,故被视为一种低级语言,通常是为特定的计算机或系列计算机专门设计的。不同的处理器有不同的汇编语言语法和编译器,编译的程序无法在不同的处理器上执行,缺乏可移植性;

2、难于从汇编语言代码上理解程序设计意图,可维护性差,即使是完成简单的工作也需要大量的汇编语言代码,很容易产生bug,难于调试;

3、使用汇编语言必须对某种处理器非常了解,而且只能针对特定的体系结构和处理器进行优化,开发效率很低,周期长且单调。

问题十:微程序和汇编语言的区别是什么。 5分 微代码和汇编都是低级语言,但是微代码比汇编更底层。微代码和汇编都和硬件有着紧密的联系,但是对于同一产品系列的不同代产品来说,汇编可以完全相同,微代码可能有着巨大的区别,因为微代码是完全依赖于芯片内部的硬件连接。

对于同样一句C语言,在不同的处理器上会生成不同的汇编语言。每一条汇编语言的执行时间也许是一个或者两个时钟周期,甚至更多。微代码和汇编的关系,就像C 与汇编的关系,也就是说一条汇编也许会生成一条或多条微代码。所谓微代码,或者微指令,是处理器内部最小的 *** 作原语,控制着诸如门电路(gates)开关等专门动作,和组成一条指令的微 *** 作的序列。例如,对于一个加法ADD的简单动作,微代码可以决定接受哪两个寄存器或总线为输入,输出到什么总线或者寄存器里,标志寄存器要保存还是丢弃,根据条件进行跳转或者直接执行下一条微代码。一个内部只有8位宽的数据总线完全可以支持32位整数的汇编 *** 作,就是因为有微代码。

微代码原来只是用来开发计算机的逻辑控制。古老的CPU往往都是“硬连线”,每个机器指令(加法,移动)都是由电路实现,虽然有着高性能的优点,但随着指令复杂度的增长,也带来了研发和DEBUG的困难,以及电路的复杂性。微代码的出现让CPU的设计者可以通过写一个微程序的方式来实现一条机器指令,而不是设计电路来实现它。在将来的开发设计过程中,微代码可以很容易地改变,硬件电路却不可更改,否则带来的将是巨大的商业损失。这种灵活的CPU设计导致了今天日益复杂的指令集。

1、MASM。

微软公司为x86 微处理器家族开发的汇编开发环境,拥有可视化的开发界面,使开发人员不必郑旅再使用DOS环境进行汇编的开发,编译速度快,支持80x86汇编以及Win32Asm,是Windows下开发汇编的利喊行凳器。

2、NASM。

全称The Netwide Assembler,是一款基于80x86和x86-64平台的汇编语言编译程序,其设计初衷是为了实现编译器程序跨平台和模块化的特性。

3、TASM。

Borland公司开发的汇编编译器,被广泛用于Turbo C,Quick Basic等编译器,用作中间过渡编译。它也能独立的编译纯汇编或是Win32Asm的代码。具有编译快速,高效的特点,至今依然是汇编开发的首选利器。

4、GAS。

GNU汇编器(GNU Assembler),简称为GAS,是由GNU计划所使用的汇编器,GNU的核心精神是自由与分享,所以GAS亦是自由软件。

5、RadASM。

一款著名的WIN32汇编编辑器,支持MASM、TASM等多种汇编编译器,Windows界面,支持语法高亮,自带一个资源编辑器和一个调试器。拥有较强的工程管理功能,加之众多插件的支持,使得它用汇编语言编写Windows软件变得得心应手。

参考资料来源:带含百度百科-汇编语言

问题一:用什么软件编写汇编语言呢 学单片机吧,用这个软件吧,集汇编、仿真一体的。而且是共享的。

51汇编集成开发环境 ,点击放大

问题二:要学习汇编语言要用什么软件? 你下载个ma *** 32v10唬,里面的编辑器可以直接编译

或者去论坛aogosoft/bbs看看

问题三:谁能介绍一下汇编用什么软件好 keil吧,汇编和c都可以,支持的机型也多

问题四:汇编是用什么软件编的? 清华大学出版社出版的《汇编语言》是经典教材,作者:朱玉龙等。图书ISBN:7302068119

汇编语言是用二进制语言编写,也就是我们常说的机器语言,汇编语言与处理器密切相关。每种处理器都有自己的指令系统,相应的汇编语言各不相同。所以,汇编语言程序的通用性、可移植性较差。相对来说,高级语言与具体计算机无关,高级语言程序可以在多种计算机上编译后执行。

汇编语言功能有限,又涉及寄存器、主存单元等硬件细节,所以编写程序比较繁琐,调试起来也比较困难。高级语言提供了强大的功能,采用类似自然语言的语法,所以容易被掌握和应用,它不必关心诸如标志汇编语言本质上就是机器语言,它可以直接、有效地控制计算机硬件,因而容易产生运行速度快、指令序列短小的高效率目标程序。高级语言不易直接控制计算机的各种 *** 作,编译程序产生的目标程序往往比较庞大、程序难以优化,所以运行速度较慢。

可见汇编语言的主要优点就是可以直接控制计算机硬件部件,可以编写在“时间”和“空间”两方面最有效的程序。这些优点使得汇编语言在程序设计亥占有重要的位置,是不可被取代的。汇编语言的缺点也是明显的。它与处理器密切有关,要求程序员比较熟悉计算机硬件系统、考虑许多细节问题,导致编写程序繁琐,调试、维护、交流和移植困难。因此,有时可以采用高级语言和汇编语言混合编程的方法,互相取长补短,更好地解决实际问题。

汇编语言用助记符代替 *** 作码,用地址符号代替 *** 作数。由于这种“符号化”的做法,所以汇编语言也称为符号语言。用汇编语言编写的程序称为汇编语言“源程序”。汇编语言“源程序”不能直接运行,需要用“汇编程序”把它翻译成机器语言程序后,方可执行,这一过程称为“汇编”。汇编语言“源程序”比机器语言程序易读、易检查、易修改,同时又保持了机器语言执行速度快、占用存储空间少的优点。汇编语言也是“面向机器”的语言,不具备通用性和可移植性。

问题五:汇编语言 有什么软件啊 汇编语言(Assembly Language)是面向机器的程序设计语言。

在汇编语合中,用助记符(Memoni)代替 *** 作码,用地址符号(Symbol)或标号(Label)代替地址妈。这样用符号代替机器语盲的二进制码段扮,就把机器语音变成了汇编语言。于是汇编语言亦称为符号语言。

使用汇编语言编写的程序,机器个能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统软件。汇编语言把汇编程序翻译成机器语言的过程称为f汇编。

汇编语言比机器语言易于读写、易于调试和修改,同时也具有机器语言执行速度快,占内存空间少等优点,但在编写复杂程序时具有明显的局限性,汇编语言依赖于具体的机型,不能通用,也不能在不同机型之间移植。

■对于不同型号的计算机,有着不同的结构的汇编语言

汇编语言由于采用了助记符号来编写程序,比用机器语言的二进制代码编程要方便些,在一定程度上简化了编程过程。汇编语言的握游灶特点是用符号代替了机器指令代码,而且助记符与指令代码一一对应,基本保留了机器语言的灵活性。使用汇编语言能面向机器并较好地发挥机器的特性,得到质量较高的程序。

汇编语言是面向具体机型的,它离不开具体计算机的指令系统,因此,对于不同磨宴型号的计算机,有着不同的结构的汇编语言,而且,对于同一问题所编制的汇编语言程序在不同种类的计算机间是互不相通的。

汇编语言中由于使用了助记符号,用汇编语言编制的程序输入计算机,计算机不能象用机器语言编写的程序一样直接识别和执行,必须通过预先放入计算机的汇编程序的加工和翻译,才能变成能够被计算机识别和处理的二进制代码程序。用汇编语言等非机器语言书写好的符号程序称为源程序,运行时汇编程序要将源程序翻译成目标程序。目标程序是机器语言程序,它一经被安置在内存的预定位置上,就能被计算机的CPU处理和执行。

汇编语言像机器指令一样,是硬件 *** 作的控制信息,因而仍然是面向机器的语言,使用起来还是比较繁琐费时,通用性也差。但是,汇编语言用来编制系统软件和过程控制软件,其目标程序占用内存空间少,运行速度快,有着高级语言不可替代的用途。

■html属于汇编吗?

不属于汇编语言。它是Hypertext Markup Language的缩写,用来编写网页的语言.通常一个网页的网址最后面有或者都是用这种语言编写的.

另外,它一般用来编写静态网页,现在最流行的动态语言有ASP,.NET和PHP等等.

问题六:汇编语言编程需要什么软件? 以下都鼎以:

1、汇编器 ma *** 的ml.exe

2、文本编辑器 ultra edit

3、资源编辑器 调试器 Microsoft visual stutio

4、连接器 microsoft的link.exe

5、反汇编器win32da ***

问题七:汇编用什么软件编译啊? 通常我都用记事本或者ultra-edit写程序,然后进到命令行里,用ma *** 编译链接,最后用debug调试,这是标准流程啊。

汇编小站上介绍了一个工具叫ma *** plus,据说是一个类似于vc的IDE,你可以看下,上面对它的评价挺高的。

问题八:汇编语言用什么软件编 MASM 是可视化界面。调试、 *** 作方便 !

具体请看:baike.baidu/...Px7MuP

DOS 下 汇编 存储 编译较麻烦!

问题九:汇编语言用什么编译软件 80x86 的汇编语言,用:MASM.EXE

MCS-51 的汇编语言,用:KEIL.EXE

还有很多种汇编语言,自己百度吧。

问题十:用哪个软件可以制作电子版制度汇编 QikPg?1.6设计师大众版是QikPg?首次推出的免费数字互动设计软件,目的是为了让更多的人来制作数字互动书籍。任何人都可以像搭积木一样制作出多媒体互动的App电子书、App杂志、App宣传册、App影集、App教程、App攻略,或者其它的App作...


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12440026.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存