编译和汇编的区别是什么

编译和汇编的区别是什么,第1张

编译(compilation

,

compile)

1、利用编译程序从源语言编写的源程序产生目标程序的过程。

2、用编译程序产生目标程序的动作。

编译就是把高级语言变成计算机可以识别的2进制语言,计算机只认识1和0,编译程序把人们熟悉的语言换成2进制的。

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

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

解释程序就是一行行的执行,比如dos,你打个命令再按下回车,

编译就是一段代码一起执行,生成一个字节码文件,比如c语言就是

汇编是在高级语言和机器语言之间的一种过渡语言

data segment para

str1 db ‘one’, ’$’

str2 db ‘Two’, ’$’

str3 db ‘Three’, ’$’

str4 db ‘four’, ’$’

str5 db ‘five’, ’$’

tab dw str1,str2,str3,str4,str5

data ends

ssg segment stack

dw 256 dup()

ssg ends

code segment para

assume cs:code,ss:ssg,ds:data

main proc far

mov ax, data

mov ds, ax

mov ah, 1 ;键盘输入

int 21h

call asc2bin

mov bl, al

mov bh, 0

dec bx

shl bx, 1

mov dx, tab[bx]

mov ah, 9

int 21h

mov ax, 4c00h

Int 21h

main endp

;将ASCII转换为二进制数

;入口:AL存放ASCII

;出口:转换后数值在AL

asc2bin proc

sub al, 30h

cmp al, 9

jbe next

sub al, 7

next: ret

asc2bin endp

end main

首先,汇编语言是一种语言,一种低级语言,和c,c++,vb是一样的,和编译、解释不是一个概念;

关于解释程序

和编译程序的解释和关系如下:

a、解释程序

所谓解释程序是高级语言翻译程序的一种,它将源语言(如basic)书写的源程序作为输入,解释一句后就提交计算机执行一句,并不形成目标程序。就像外语翻译中的“口译”一样,说一句翻一句,不产生全文的翻译文本。这种工作方式非常适合于人通过终端设备与计算机会话,如在终端上打一条命令或语句,解释程序就立即将此语句解释成一条或几条指令并提交硬件立即执行且将执行结果反映到终端,从终端把命令打入后,就能立即得到计算结果。这的确是很方便的,很适合于一些小型机的计算问题。但解释程序执行速度很慢,例如源程序中出现循环,则解释程序也重复地解释并提交执行这一组语句,这就造成很大浪费。

b、编译程序

这是一类很重要的语言处理程序,它把高级语言(如fortran、cobol、pascal、c等)源程序作为输入,进行翻译转换,产生出机器语言的目标程序,然后再让计算机去执行这个目标程序,得到计算结果。

编译程序工作时,先分析,后综合,从而得到目标程序。所谓分析,是指词法分析和语法分析;所谓综合是指代码优化,存储分配和代码生成。为了完成这些分析综合任务,编译程序采用对源程序进行多次扫描的办法,每次扫描集中完成一项或几项任务,也有一项任务分散到几次扫描去完成的。下面举一个四遍扫描的例子:第一遍扫描做词法分析;第二遍扫描做语法分析;第三遍扫描做代码优化和存储分配;第四遍扫描做代码生成。

值得一提的是,大多数的编译程序直接产生机器语言的目标代码,形成可执行的目标文件,但也有的编译程序则先产生汇编语言一级的符号代码文件,然后再调用汇编程序进行翻译加工处理,最后产生可执行的机器语言目标文件。

在实际应用中,对于需要经常使用的有大量计算的大型题目,采用招待速度较快的编译型的高级语言较好,虽然编译过程本身较为复杂,但一旦形成目标文件,以后可多次使用。相反,对于小型题目或计算简单不太费机时的题目,则多选用解释型的会话式高级语言,如basic,这样可以大大缩短编程及调试的时间。

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

LZ请跟着我的 *** 作走

1将写好的汇编代码保存为1asm

2将1asm复制到c盘下

3点开始(即左下标那个windows图标),找到运行,或(附件中的命令提示符)

4找到运行后,输入cmd 或 command

5进入后输入cd c:\

6输入masm 1;(1后面有分号),然后回车

7输入link 1;然后回车

8cls清屏然后回车

9输入1exe,然后回车

10完成

至于怎么debug

步骤:

1-8同上

9输入debug 1exe,然后回车

10完成

至于debug 中的 'r' 'd' 't' 自己上网找大把

我的系统是win 7,

你的masm 和 link debug 要放在C:\Windows文件夹下

PS: 若有不明白的地方。

1、对支持内嵌汇编的,高级语言的编译器能直接编译!

2、对不支持内嵌汇编的情况:自然是用汇编编译程序先将汇编源代码编译为obj文件,再由链接程序link和其他obj文件装配形成exe。

以上就是关于编译和汇编的区别是什么全部的内容,包括:编译和汇编的区别是什么、什么是汇编程序,编译程序,解释程序、用汇编语言编译一个程序\从键盘输入一个字符串将其每个字符的ASCII码显示在屏幕上等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存