汇编语言是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符代替机器指令的 *** 作码,用地址符号或标号代替指令或 *** 作数的地址。
比起机器语言,汇编语言具有更高的机器相关性,更加便于记忆和书写,但又同时保留了机器语言高速度和高效率的特点。
汇编语言仍是面向机器的语言,很难从其代码上理解程序设计意图,设计出来的程序不易被移植,故不像其他大多数的高级计算机语言一样被广泛应用。所以在高级语言高度发展的今天,它通常被用在底层,通常是程序优化或硬件 *** 作的场合。
扩展资料:
在许多程序的设计当中,高级语言和汇编语言可以相互交叉调用,进行参数传递,共享数据信息,这便是所谓的混合编程。
程序员往往在高级语言程序中直接嵌入汇编语句,以实现对硬件直接进行控制的功能,这是混合编程中常见的做法。也可以在高级语言程序中使用汇编语言中定义的变量和常量,或使用内部函数对汇编语句进行调用。
简而言之,这类混合编程的方法可以让高级语言与汇编语言互相取长补短,各自发挥各自优势,同时减少各自缺点所带来的不便,善用这个方法可以使开发和编程工作达到事半功倍的效果。
分类: 电脑/网络
问题描述:
什么是编译程序和汇编程序?他们有什么区别?和机器语言、高级语言汇编语言有什么样的联系
解析:
用汇编语言或高级语言编写的程序,必须先送入计算机,经过转换成用机器语言表示的目标程序(这个过程即编译),才能由计算机执行。执行转换过程的程序叫编译程序。汇编程序是指没有编译过的汇编语言源文件。
编译程序转换过的叫目标程序,也就是机器语言。
编译程序的工作情况有三种:汇编型、解释型和编译型。汇编型编译程序用来将汇编语言编写的程序,按照一一对应的关系,转换成用机器语言表示的程序。解释型编译程序将高级语言程序的一个语句,先解释成为一组机器语言的指令,然后立即执行,执行完了,取下一组语句解释和执行,如此继续到完成一个程序为止。用解释型编译程序,执行速度很慢,但可以进行人和计算机的"对话",随时可以修改高级语言的程序。BASIC语言就是解释型高级语言。编译型编译程序将高级语言编写的程序,一次就会部翻译成机器语言表示的程序,而且过程进行很快,在过程中,不能进行人机对话修改。FORTRAN语言就是编译型高级语言。
dseg segment
s0 db 'we study asm!' ;字符串定义,随意
c equ $-s0 ;s0的长度
s1 db 100 dup(0) ;定义100个空间,在s0之后
dseg ends
cseg segment
assume cs:cseg, ds:dseg
start:
mov ax, dseg ;
mov ds, ax ;
mov cx, c ; cx, s0的长度
lea si, s0 ; si->s0的首地址
lea di, s1 ; di->s1的首地址,也就是紧跟在s0后面的空间
c0:
mov al, [si] ;开始复制字符串
mov [di], al ;
inc si ;
inc di ;
loop c0 ;
mov ah,4ch ;退出到dos
int 21h
cseg ends
end start
汇编语言源程序运行方法:
1、找到一段起始地址为SA:0000(即起始地址的偏移地址为0)的容量足够的空闲内存区。
2、在这段内存区的前256个字节中,创建一个称为程序段前缀(PSP)的数据区,DOS利用PSP来和被加载程序进行通信。
3、从这段内存区的256字节处开始(在PSP的后面),将程序装入,程序的地址被设为SA+10H:0;空闲内存区从SA:0开始,0~255字节为PSP,从256字节处开始存放程序,为更好地区分PSP和程序,DOS将划分到不同的段中,如下这样的地址安排:
空闲内存区:SA:0
PSP区:SA:0
程序区:SA+10H:0
注意:PSP区和程序区虽然物理地址连续,却有不同的段地址。
4、将该内存区的段地址(SA)存入DS中,初始化其它相关寄存器后,设置CS:IP指向程序的入口(SA+10H:0)。
以上就是关于汇编语言是一种什么程序设计语言全部的内容,包括:汇编语言是一种什么程序设计语言、什么是编译程序和汇编程序、汇编语言编程:将字符串’we study asm!’复制到它后面的数据区中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)