汇编语言是用什么语言编写出来的

汇编语言是用什么语言编写出来的,第1张

汇编语言(AssemblyLanguage)是面向机器的程序设计语言。在汇编语合中,用助记符(Memoni)代替 *** 作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。于是汇编语言亦称为符号语言。使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统软件。汇编程序把汇编语言翻译成机器语言的过程称为汇编。

因为汇编语言是直接对硬件进行 *** 作,所以能控制硬件,比如

MOV

A,#17H

就是直接对硬件的寄存器A进行 *** 作,所以能控制硬件。

1、汇编程序

把汇编语言书写的程序翻译成与之等价的机器语言程序的翻译程序。汇编程序输入的是用汇编语言书写的源程序,输出的是用机器语言表示的目标程序。汇编语言是为特定计算机或计算机系列设计的一种面向机器的语言,由汇编执行指令和汇编伪指令组成。

采用汇编语言编写程序虽不如高级程序设计语言简便、直观,但是汇编出的目标程序占用内存较少、运行效率较高,且能直接引用计算机的各种设备资源。它通常用于编写系统的核心部分程序,或编写需要耗费大量运行时间和实时性要求较高的程序段。

2、解释程序

解释程序是一种语言处理程序,在词法、语法和语义分析方面与编译程序的工作原理基本相同,但在运行用户程序时,它直接执行源程序或源程序的内部形式(中间代码)。因此,解释程序并不产生目标程序,这是它和编译程序的主要区别。

3、编译程序

编译程序也称为编译器,是指把用高级程序设计语言书写的源程序,翻译成等价的机器语言格式目标程序的翻译程序。编译程序属于采用生成性实现途径实现的翻译程序。

它以高级程序设计语言书写的源程序作为输入,而以汇编语言或机器语言表示的目标程序作为输出。编译出的目标程序通常还要经历运行阶段,以便在运行程序的支持下运行,加工初始数据,算出所需的计算结果。

扩展资料:

工作过程

1、汇编程序

输入汇编语言源程序。检查语法的正确性,如果正确,则将源程序翻译成等价的二进制或浮动二进制的机器语言程序,并根据用户的需要输出源程序和目标程序的对照清单;如果语法有错,则输出错误信息,指明错误的部位、类型和编号。最后,对已汇编出的目标程序进行善后处理。

2、解释程序

由总控程序完成初始化工作。依次从源程序中取出一条语句进行语法检查,如有错,输出错误信息;如果通过了语法检查,则根据语句翻泽成相应的指令并执行它。检查源程序是否已经全部解释执行完毕,如果未完成则继续解释并执行下一条语句,直到全部语句都处理完毕。

3、编译程序

先进行词法分析与语法分析,然后生成中间代码,接着对程序进行多种等价变换来代码优化,最后生成目标代码。

参考资料来源:百度百科—汇编程序

参考资料来源:百度百科—解释程序

参考资料来源:百度百科—编译程序

呵呵,这是MCS-51单片机的汇编语言,很多人都不懂的。

程序实现了(50H)-(60H)->(40H)的BCD码减法运算;

并且对源数据的地址指针进行了修正。

BCD码的运算之后,应(使用DA A指令)进行十进制调整,将运算结果修正为BCD码;

只是MCS-51单片机的DA A指令只能放在加法之后,它对减法不起作用。

为此,BCD码的减法必须变换成加法,才能用DA A指令进行十进制调整。

借用手表倒拨15分,和正拨45分,效果相同的方法,可将:

(50H)-(60H)

等效变换为:

(50H)+〔100 -(60H)〕

式中的100,又等效写成9AH,不信,你对它DA A试试,马上就是100H,这就是100的BCD码,你说它能写成别的数吗。

1计算U=(X+(YZ-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

;计算YZ,内容放在DX,AX中

MOV

CX,AX

MOV

BX,DX

SUB

CX,100

;计算YZ-100

SBB

BX,

0

MOV

AX,X

CWD

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

ADD

AX,CX

;计算X+(YZ-100),内容放在DX,AX中

ADC

DX,BX

IDIV

W

;计算(X+(YZ-100))/W

MOV

U,AX

MOV

U+2,DX

MOV

AH,4CH

INT

21H

CODE

ENDS

END

START

1:总的来说就是执行程序的各种方法成为psp。

2:PSP是256个字节,当程度生成了可执行文件以后,在执行的时候,先将程序调入内存,这个时候DS中存入程序在内存中的段地址,比如说程序占用多大空间等等,这就是PSP。

3:一般PSP占256个字节,然后才是真正的程序地址,将CS指向这里,为什么一般CS要比DS大10H,就是因为这个原因。

4:DS存放的是程序段地址,真正要执行的地址是DS再加上256个字节,真正的地址是化简一下,真正的地址又可以写成化成十六制。

5:段前缀是 *** 作系统在执行程序时为程序所建立的一个信息块,   里面包括了传递给待运行程序的命令行参数,   程序运行结束时返回DOS所需的地址等有用的信息。

6:COM格式比较特殊,数据段,堆栈段集中在一个段里,连PSP也集中在这个段里,   EXE文件在运行时DS/ES的初值设为PSP的段地址,可以直接用偏移0-100H访问PSP的内容。

程序都是用语言写成的,汇编程序就是一种程序;汇编程序语言就是用来写汇编程序的一种语言,写汇编程序的语言有很多种,不同的单片机的汇编程序语言就不同,但是他们都可以用来写汇编程序。明白了吧

以上就是关于汇编语言是用什么语言编写出来的全部的内容,包括:汇编语言是用什么语言编写出来的、请问汇编程序, 解释程序, 编译程序分别指、汇编程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/zz/9338538.html

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

发表评论

登录后才能评论

评论列表(0条)

保存