请问由汇编语言编写的计算机程序能否被计算机直接运行,为什么?

请问由汇编语言编写的计算机程序能否被计算机直接运行,为什么?,第1张

确切地说:不行.到目前为止,计算机能直接识别和处理的语言只有一种:机器语言,这是虚孝用一连串的0和1来表示的二进制的代码.汇编语言是在机器语言的基础上,将一些信息符号化后产生的.比如假设原来001在机器语言里表示加法,现在用ADD这个符号来表示加法,就容易被理解和使用.用宏枣汇编语言写的程序代码要执行,必须经过汇编和连接等几个步骤才可以,汇编的目的主要是检查有没有语法错误等等,而连接,则是和具体的 *** 作系统相联系,生成可执行的代码文件--机器语言程序.实际上用高级语言写的代码也是,要经过编译后生成可执行的代码文件才可以由计算机执行,这些代码文件,也就是最终的机器语言程序.需要补充的是,现在有一些研究中的计算机,可以直接识别和执行高级语言,那实际上蔽誉拆是将对应的编译模块等嵌入到硬件里面了,本质上还是需要将高级语言信息转换为对应的二进制控制信号.

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

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

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

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

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

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

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

问题三:一般用什么软件来写汇编程序? 楼主你好

编写汇编语言源程序一般用纯文本编辑就可以了,扩展名采用.ASM比较大众化。目前比较好的IDE是国内的ma *** plus,免费软件,下载地址在:

aogosoft/ma *** plus/

国际上比较著名的是rada *** ,但一般用不到那么高级,支持几十种编译器呢!

三级等级考试使用的是MASM 4.0的ma *** .exe和link.exe,知道怎么用即可。

建议楼主下载ma *** plus来写程序,或下载notepad++作为源码编辑环境。

楼主应该可以搞定的

问题四:汇编语言用什么软件写的?后缀名是什么? 发点哆嗦

1.

汇编语言不是用什么软件写的

汇编语言是一种编程语言

汇编源程序(代码)才是用什么来编辑的

例如用notepad可以编辑

用edit也可以编辑

用debug也可以

代码最后编译成程序

windows一般用ma *** 或者ta ***

linux里面用na *** (还有其它)

汇编源程序保存成扩展名为.a *** 的文件

(不同的 *** 作系统会有不同

例如windows 与 linux上面的汇编就不同

-------------------

例如

开始/运行/cmd

edit test.a ***

接着输入代码

保存

用编译器编译成.exe 或者文件

再在cmd下运行

问题五:单片机(汇编语言)需要的软件? 51单片机是Keil 软件

pic单片机是MPLAB软件

汇编要将编辑文件要保存为.a *** 为后缀的文件(c语言则是.c为后缀)

avr单片机是avr studio 或iccavr软件

汇编要将编辑文件要保存为.s为后缀的文件(c语言则是.c为后缀)

51单片机可以很多下载软件 将你的汇编程序 在Keil 软件中设置为:

options for target 1->output->create HEX file

生成hex文件 然后将这个hex文件通过下载软件下载到单片机中.

下载软件有两类:串口下载和ISP接口下载

ISP接口下载软件是对应你的下载器的(一般买下载器都会给你对应的下载软件的)

串口下载:STC类的51单片机可以用STC_ISP_V486.exe,但是对于Atmel类的就不行

微机原理的上机课都是在DOS下输入EDIT XX.ASM后编写的,单片机也是这样吗?

单片机不是这样的 因为微机机器码和单片机机器码是不一样的

所以单片机需要在windows下用对应的软件生成单片机的机器码 在单片机中才能运行啊

祝你学习进步

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

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

低级语言,即汇编语言

中级语言,如C语言

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

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

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

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

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

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

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

问题七:试用汇编语言编写一个程序,该程序的功能如下: 当BL为0,将0―255这256个数从小到大的顺序放入

当BL为1,将0―255这256个数从大到小的顺序放入

当BL为其它,将0放入以3100H为起始的单元中去

MOV AL, 0

MOV CX, 256

MOV DI, 3100H

LP:

MOV [DI], AL

CMP BL, 0

JNZ ONE

INC AL

JMP NEXT

ONE:

CMP BL, 1

JNZ NEXT

DEC AL

NEXT:

INC DI

LOOP LP

HLT

END

问题八:用汇编语言编写一个简单程序 1.计算U=(X+(Y*Z-100))/W

其中:X,Y,Z,W均为十六位有符号数。

程序如下:

DATA SEGMENT

X DW 10 16位变量

Y DW 20

Z DW 30

W DW 40

U DW ?,?

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:

MOV AX,DATA

MOV DS,AX

MOV AX,Y

IMUL Z 计算Y*Z,内容放在DX,AX中

MOV CX,AX

MOV BX,DX

SUB CX,100 计算Y*Z-100

SBB BX, 0

MOV AX,X

CWD 将X符号扩展,形成DX:AX中的双字

ADD AX,CX 计算X+(Y*Z-100),内容放在DX,AX中

ADC DX,BX

IDIV W 计算(X+(Y*Z-100))/W

MOV U,AX

MOV U+2,DX

MOV AH,4CH

INT 21H

CODE ENDS

END START

问题九:汇编语言用什么工具编写较好 汇编工具有很多

1、MASM(我以前用的,分步的,初学者不易掌握)

2、VISUALASM(我一直在用,感觉比较好,集成环境的,软件下载地址:onlinedown/soft/2002) (强烈推荐)

3、win32汇编的ma *** 32软件包(Windows环境下的)

4、na *** (linux平台)

5、RadASM下载地址crsky/soft/5471

问题十:用汇编语言编写的源程序计算机是否可以直接执行 汇编语言(Assembly Language)是面向机器的程序设计语言.汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。 用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统软件。汇编语言把汇编程序翻译成机器语言的过程称为汇编。

1、传送指令 MOV (move)

指令的汇编格式:MOV DST,SRC

指令的基本功能:(DST)<-(SRC) 将原 *** 作数(字节或字)传送到目的地址。

指令支持的寻址方式:轿樱目的 *** 作数和源 *** 作数不能同时用存储器寻址方式,这个限制适用于所有指令。

指令的执行对标志位的影响:不影响标志位。

2、进栈指令 PUSH (push onto the stack)

出栈指令 POP(pop from the stack)

指令的汇编格式:PUSH SRC ;POP DST

指令的基本功能:PUSH指令在程序中常用来暂存某些数据,而POP指令又可将这些数据恢复。

PUSH SRC (SP)<-(SP)-2 ;(SP)<-(SRC)

POP DST (DST)<-((SP));(SP)<-(SP)

指令的特殊要求:PUSH 和 POP指令只能是字 *** 作,因此,存取字数据后,SP的修改必须是+2 或者 -2;

POP指令的DST不允许是CS寄存器;

3、交换指令羡皮 XCHG (exchange)

指令的汇编格式:XCHG OPR1,OPR2

指令的基本功能:(OPR1)<->(OPR2)

二、累加器专用传送指令

4、输入指令 IN (input)

输出指令 OUT (output)

指令的汇编格式:IN ac,portport<=0FFH

IN ac,DX port>0FFH

OUT port,ac port<=0FFH

OUT DX,ac port>0FFH

指令的特殊要求:只限于在AL或AX与I/O端口之间传送信息。

传送16位信息用AX,传送8位信息用AL,这取决于外设端口的宽度。

5、换码指令 XLAT (translate)

指令的汇编格式:XLAT opr 或 XLAT

指令的基本功能:这条指令根据AL寄存器提供的位移量,将BX指使的字节表格中的代码换存在AL中。

(AL)<-((DS)*16+(BX)+(AL))

三、地址传送指令

6、有效地址传送器 LEA (load effective address)

指令的汇编格式:LEA reg,src

指令的基本功能:LEA指令把源 *** 作数的有效地址送到指定的寄存器,这个有效地址是由src选定的一种存储器寻址方式确定的。

指令支持的寻址方式:各种存储器寻址方式。

指令对标志位的影响:不影响标志位。

指令的特出要求:指令中reg不能是段寄存器;

7、指针送寄存器和DS LDS (load DS with point)

指针送寄存器和ES LES (load ES with point)

指令的汇编格式:LDS reg,src

LES reg,src

指令的基本功能:LDS和LES指令把确定内存单元位置的偏移地址送寄存器,段地址DS或ES。这个偏移地址和段地址(也称地址指针)是由src指定的两个相继字单元提供的。

LDS reg,src(reg)<-(src)(DS)<-(src+2)

LES reg,src(reg)<-(src)(ES)<-(src+2)

指令支持兄帆差的寻址方式:src必须为存储器寻址方式

指令对标志位的影响:不影响标志位。

指令的特殊要求:指令中REG不能是段寄存器;


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存