您当前的位置:首页 > 淘宝百科

什么是汇编语言程序?什么是汇编程序和编译程序有什么区别

时间:2023-01-31 10:00:14

本文目录

  • 什么是汇编语言程序
  • 什么是汇编程序和编译程序有什么区别
  • 用汇编语言编写一完整程序!
  • 请问汇编程序, 解释程序, 编译程序分别指
  • 汇编语言子程序是如何定义的
  • 汇编语言分几种分别都是干什么的
  • 什么是编译程序和汇编程序
  • 汇编语言编出来的程序是什么样的
  • 什么是汇编程序什么是汇编语言

什么是汇编语言程序

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

什么是汇编程序和编译程序有什么区别

首先,简介一下计机原理,假如有一个由磁粉组成的硬盘,那么改变磁粉的排列,并通电,将引发电流大小的变化,这就是计机的数据来源。那么,查看磁粉是难以看见的,间接的表示就是:用一个如winhex的软件打开,里面的十六进制数就间接说明了磁粉的排列物理状况。同样,手动改磁粉即使生效,也未必“有用”。正如你所想,没错,既然电脑这机器这么麻烦,但它有人买,因为有键盘。一台正常的电脑由“固化”“程序”(bios)硬件去启用主板上的各个元件,再拿个硬盘放操作系统。自然有办法写入数据了。好了,回归正题,所谓汇编,就是可以从那些有效的十六进制数据得出的东东,比如“b4....”在某一场合表示mov ......,于是乎,对照主板商等给出的文档,想进行编写一个程序,那么就“mov.......”什么的对着“b4........”什么的堆进扇区就行了。编译程序,动词来说的话,是一个动作,不是程序,汇编程序是一个程序,名词来说的话,风马牛不相干,因为根据上述原理,把汇编代码或c代码转成有效的“磁粉”数据,这就是一个编译的过程,结果出来的就是编译程序。

用汇编语言编写一完整程序!

摘要DATAS SEGMENT

;此处输入数据段代码

BUFF DW 5,25,55,115,138,159,196,163,20,255

DAT DW 0

SHOW DB 4 DUP(0),’$’

DATAS ENDS

STACKS SEGMENT

;此处输入堆栈段代码

STACKS ENDS

CODES SEGMENT

ASSUME CS:CODES,DS:DATAS,SS:STACKS

START:

MOV AX,DATAS

MOV DS,AX

;此处输入代码段代码

MOV DX,0

MOV AX,0

MOV CX,10 ;循环次数设置

MOV SI,OFFSET BUFF

lop1: ;求和

ADD AX,[SI]

ADD SI,2 ;由于数据是DW的,所以地址每次加2

LOOP lop1

MOV CL,10

DIV CL ;求平均,AL存储了平均值,AH存储了余数

;MOV CL,1000

MOV AH,0 ;分解for显示,求余得到从个位到千位

DIV CL

MOV SHOW+3,AH;

ADD SHOW+3,48

;MOV CL,100

MOV AH,0

DIV CL

MOV SHOW+2,AH;

ADD SHOW+2,48

;MOV CL,10

MOV AH,0

DIV CL

MOV SHOW+1,AH;

ADD SHOW+1,48

MOV SHOW+0,AL;

ADD SHOW+0,48

MOV AH,09H ;显示输出

MOV DX,offset SHOW;

INT 21H

MOV AH,4CH

INT 21H

CODES ENDS

END STAR

咨询记录 · 回答于2021-06-01

用汇编语言编写一完整程序!

您好,您的问题我已经看到了,正在整理答案,请稍等一会儿哦~

您好

好的谢谢

DATAS SEGMENT

;此处输入数据段代码

BUFF DW 5,25,55,115,138,159,196,163,20,255

DAT DW 0

SHOW DB 4 DUP(0),’$’

DATAS ENDS

STACKS SEGMENT

;此处输入堆栈段代码

STACKS ENDS

CODES SEGMENT

ASSUME CS:CODES,DS:DATAS,SS:STACKS

START:

MOV AX,DATAS

MOV DS,AX

;此处输入代码段代码

MOV DX,0

MOV AX,0

MOV CX,10 ;循环次数设置

MOV SI,OFFSET BUFF

lop1: ;求和

ADD AX,[SI]

ADD SI,2 ;由于数据是DW的,所以地址每次加2

LOOP lop1

MOV CL,10

DIV CL ;求平均,AL存储了平均值,AH存储了余数

;MOV CL,1000

MOV AH,0 ;分解for显示,求余得到从个位到千位

DIV CL

MOV SHOW+3,AH;

ADD SHOW+3,48

;MOV CL,100

MOV AH,0

DIV CL

MOV SHOW+2,AH;

ADD SHOW+2,48

;MOV CL,10

MOV AH,0

DIV CL

MOV SHOW+1,AH;

ADD SHOW+1,48

MOV SHOW+0,AL;

ADD SHOW+0,48

MOV AH,09H ;显示输出

MOV DX,offset SHOW;

INT 21H

MOV AH,4CH

INT 21H

CODES ENDS

END STAR

该程序需要用到哪些汇编指令呢

有很多 亲

随便来两个

好的

POP 把字弹出堆栈.

好的

不客气 亲

麻烦赞 亲

好的

请问汇编程序, 解释程序, 编译程序分别指

1、汇编程序

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

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

2、解释程序

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

3、编译程序

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

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

扩展资料:

工作过程

1、汇编程序

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

2、解释程序

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

3、编译程序

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

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

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

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

汇编语言子程序是如何定义的

这样定义的:

子程序名 PROC     NEAR|FAR

               .

                .

              RET

子程序名 ENDP

子程序名相当于标号,表示本过程的符号地址。过程有NEAR和FAR两种类型,FAR型的过程可供段间调用,NEAR型过程仅供段内调用。

在一个过程中,至少要有一条返回指令RET,它可以书写在过程中的任何位置,但是过程执行的的最后一条指令一定是RET。

扩展资料:

注意事项

一、子程序调用指令

格式:CALL   [NEAR PTR]    子程序名

CALL指令的两个作用,1.将断点地址(CALL指令的下一条指令地址)压栈保存,2.转去子程序执行。

[NEAR PTR]可以省略。

二、返回指令

格式:RET     [N]

指令作用:实现子程序执行完后返回主程序的指令。从堆栈栈顶弹出一个字数据(段内调用)送入IP作为返回地址。N是立即数,执行完RET之后,再将SP增加N,也叫“平栈”。

汇编语言分几种分别都是干什么的

有5种。如下参考:

1.简单的汇编程序。它的特征是目标机器翻译机器语言的绝对地址,可以直接在内存中执行,也称为“加载和执行”汇编程序。这种工作方式在存储空间的组织中是非常有限的。

2. 模块汇编。它提供了设计、编码和调试不同程序模块的能力。每个汇编模块称为一个对象模块。它们的地址是相对的。可以使用链接汇编程序将多个可执行模块组成一个可执行程序。

3.有条件的汇编程序。能够选择和组装某些模块。这样的汇编器通常有伪指令,例如“条件转换”,允许用户编写选择条件。

4.宏汇编程序。带有宏的汇编程序。您可以使用它来定义带有参数的块,并在使用它们的地方调用它们。在汇编期间执行宏(指令)扩展,并将宏定义预定义的指令目标代码插入此位置。

5.先进的汇编程序。带有控制结构(如条件语句、循环语句、甚至函数和过程)的汇编程序。它可以保持目标程序的高质量。利用高级语言,提高可读性。

扩展资料:

特点:

1.机协会:

这是一种低级的面向机器的语言,通常是为特定的计算机或一系列计算机设计的。因为它是机器指令的符号表示,不同的机器有不同的汇编语言。使用汇编语言可以针对机器,更好的利用机器的特点获得更高质量的程序。

2.高速高效:

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

3.编写和调试的复杂性:

因为它是对硬件的直接控制,而且简单的任务也需要大量的汇编语言语句,所以它在程序设计时必须全面,需要考虑所有可能出现的问题,合理分配和使用各种软硬件资源。这不可避免地增加了程序员的负担。此外,在调试程序时,很难确定程序运行时是否存在问题。

什么是编译程序和汇编程序

  • 编译程序是把用高级程序设计语言或计算机汇编语言书写的源程序,翻译成等价的机器语言格式目标程序的翻译程序,属于采用生成性实现途径实现的翻译程序。编译程序以高级程序设计语言书写的源程序作为输入,而以汇编语言或机器语言表示的目标程序作为输出;编译出的目标程序通常还要经历运行阶段,以便在运行程序的支持下运行,加工初始数据,算出所需的计算结果。

  • 汇编程序是指把汇编语言书写的程序翻译成与之等价的机器语言程序的翻译程序,是为特定计算机或计算机系列设计的一种面向机器的语言,由汇编执行指令和汇编伪指令组成。汇编程序输入的是用汇编语言书写的源程序,输出的是用机器语言表示的目标程序。采用汇编语言编写程序虽不如高级程序设计语言简便、直观,但是汇编出的目标程序占用内存较少、运行效率较高,且能直接引用计算机的各种设备资源。它通常用于编写系统的核心部分程序,或编写需要耗费大量运行时间和实时性要求较高的程序段。汇编程序主要有简单汇编程序、模块汇编程序、条件汇编程序、宏汇编程序、高级汇编程序几种。

  • 汇编语言编出来的程序是什么样的

    汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植,主要用于单片机的编程!以现在单片机产品主力还是在8位领域,主要应用于汽车应用、消费性电子、电脑及PC周边、电信与通讯、办公室自动化、工业控制等六大市场,其中车用市场多在欧、美地区,而亚太地区则以消费性电子为主, 并以量大低单价为产品主流,目前16位单片机与8位产品,还有相当幅度的价差,新的应用领域也仍在开发,在2005年前8位的单片机仍是单片机产品的主流。以下是一个单片机发出的脉冲控制信号,有详细注释,可以学一下!data .section ’data’ r1 equ [40h] r2 equ [41h] r3 equ [42h] r4 equ [43h] r5 equ [45h] r6 equ [46h] r7 equ [47h] r8 equ [48h] sw1 equ pa.1 sw2 equ pa.2 sw3 equ pa.3 sw4 equ pa.0 r9 equ pa.6 r10 equ pa.7 PN equ [50h].0 count equ [51h]main .section ’code’ org 000h jmp start ORG 010H;******************PRO START*********start: clr count mov a,2 mov count,a;**************** clr r1 clr r2 clr pa.0 clr pb mov a,0feh mov pac,a mov a,0f3h mov pbc,a set pb.2 clr pb.3 CLR [50H];******************ONLY USE FOR AR1501*****;******************************************Alp1: SZ PN JMP PLUSE0 CLR PB2 SET PB3 SET PN JMP ADELAY1PLUSE0: SET PB2 CLR PB3 CLR PN ;-****************DELAY TIME 38MS PLUSE IS HIGHT***Adelay1: mov a,38 ;马达脉冲高电平开始计时 mov r1,aAlp12: mov a,165 mov r2,aAlp11: sdz r2 jmp Alp11 sdz r1 jmp Alp12;********************************* clr pb.2 clr pb.3;***********************DELAY TIME 24MS PLUSE IS LOW***Adelay2: mov a,24 ;马达脉冲低电平开时计时 mov r1,aAlp22: mov a,165 mov r2,aAlp21: sdz r2 jmp Alp21 sdz r1 jmp Alp22;**********************END**********;***********************************hongwai:NOPlp1: NOP set pa.0;***************DELAY TIME 15.6MS PLUSE IS LOW****delay1: mov a,16 ;红外脉冲高电平开始计时 mov r1,alp12: mov a,162 mov r2,alp11: sdz r2 jmp lp11 sdz r1 jmp lp12;******************END********;****************DELAY TIME 46.8MS PULSE IS HIGHT***** clr pa.0delay2: mov a,48 ;红外脉冲低电平开时计时 mov r1,alp22: mov a,162 mov r2,alp21: sdz r2 jmp lp21 sdz r1 jmp lp22;********************EDN ****************** jmp Alp1

    什么是汇编程序什么是汇编语言

    最初,程序只能用机器语言编写。用机器语言编写程序是早期经过严格训练的专业技术人员的工作,普通的程序员一般难以胜任,而且用机器语言编写的程序不易阅读、出错率高、难以维护,也不能直观地反映用计算机解决问题的基本思路。但也有优点,用机器语言编写出来的程序执行效率高,CPU严格按照程序员的要求去做,没有多余的额外操作。所以,在以保留“程序执行效率高”为前提下,人们就开始着手研究一种能大大改善程序可读性的编程方法。为了改善机器指令的可读性,选用了一些能反映机器指令功能的单词或词组来代表该机器指令,而不再关心机器指令的具体二进制编码。与此同时,也把CPU内部的各种资源符号化,使用该符号名也等于引用了该具体的物理资源。如此一来,令人难懂的二进制机器指令就可以用通俗易懂的、具有一定含义的符号指令来表示了,于是,汇编语言就有了雏型。现在,我们称这些具有一定含义的符号为助记符,用指令助记符、符号地址等组成的符号指令称为汇编格式指令(或汇编指令)。汇编语言是汇编指令集、伪指令集和使用它们规则的统称。伪指令是在程序设计时所需要的一些辅助性说明指令,它不对应具体的机器指令。用汇编语言编写的程序称为汇编语言程序,或汇编语言源程序。

    程序

    最新文章