什么是汇编程序,编译程序,解释程序它们的功能是什么

什么是汇编程序,编译程序,解释程序它们的功能是什么,第1张

汇编程序:把汇编语言书写的程序翻译成与之等价的机器语言程序的翻译程序。

编译程序:把用高级程序设计语言书写的源程序,翻译成等价的计算机汇编语言或机器语言的目标程序的翻译程序。

解释程序:对源程序边解释翻译成机器代码边执行的高级语言程序。

高级语言的程序的执行的途径:

1)源程序(高级语言)->编译程序->目标程序(汇编语言)->汇编程序->目标程序(机器语言)->计算结果

2)源程序(高级语言)->编译程序->目标程序(机器语言)->计算结果

3)源程序(高级语言)->解释程序(逐条读出源程序中的语句并解释执行,即在解释程序的执行过程中并不产生目标程序)->计算结果

一、汇编语言程序的运行方式有两种,一种是:如果运行结果在屏幕上显示,则可直接执行(EXE文件或COM文件),有时需要在程序中加入两条指令MOV AH,1 INT 21H,作用是使结果在屏幕上停留,直到按任意键为止;另一种是:如果结果在内存或寄存器中,则需要用DEBUG命令-G或-T命令执行后,再用-D显示内存单元的内容或用-R显示寄存器的内容。

二、我用的就是VisualASM编辑器,非常好用。有下列一些汇编工具:

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

2、VISUALASM(我一直在用,感觉比较好,集成环境的,软件下载地址:>

实验 *** 作说明

Keil 软件调试方式分为:软件仿真方式和硬件调试两种。

软件仿真实验上机 *** 作步骤:

1、进入Keil,点击桌面上“Keil μVersion 3”图标,进入Keil系统窗口

2、新建工程:

1)打开“工程”菜单中的新建,在d出的对话框中,键入自己定义的工程名;

2)在进一步打开的对话框中,选择CPU的类型,为Intel公司的8032AH,确定;

3)存入D:\keil 文件夹中。(在大机房,安装在C盘,改为C:\keil)

3、打开“视图”菜单中的“工程窗口”;

4、在“工程窗口”中,右击“目标1”,为工程设置参数;

1)在d出的快捷菜单中选择“为目标“目标1”设置选项”;

2)在d出的对话框中选择“项目”选项卡,设置时钟为“12Mhz”;

3)选择“调试”选项卡,在单选框选择“软件仿真方式”;

4)确定,即完成了“软件仿真方式”的设置。

5、新建文件

1)打开“文件”菜单,选择“新建”;

2)系统打开一个文本窗口,你可在窗口的编辑区输入要调试的汇编语言源程序;

3)存盘,命名文件名和扩展名,文件名任起,扩展名必须是asm,存入D:\keil 文件夹中(在大机房,安装在C盘,改为C:\keil);例如:aasm。

6、将刚建的新文件添入当前的工程中

1)在“工程窗口”中,“目标1”的+号处打开,显示“源代码组1”;

2)右击“源代码组1”,在快捷菜单中选择“为“源代码组1”添加文件”,d出一个对话框;

3)在对话框中选择“文件类型”为;

4) 选择文件所在路径,同时找到刚键入的aasm文件,点击“add”按钮,然后点击“close”按钮;

5) 在“工程窗口”点击“源代码组1”左侧的+号,显示添加的aasm文件,添加成功。

7、汇编

1)在“工程窗口”点击“源代码组1”的aasm文件;

2)打开“aasm”文件编辑窗口;

3)点击工具按钮中的“重建所有的目标文件”,进行汇编;

4)在“输出窗口”显示汇编是否有错,无错,进入调试;

有错,在编辑窗口修改程序,改后,再次汇编,直至无错后进入调试;

8、调试程序

1)点击“开始/停止调试”按钮,进入调试界面;

2)在程序窗口中有一个黄箭头指向程序的第一条可执行指令的开头;

3)选择调试方式进行调试;

① 在“调试”菜单中选择:跟踪、单步、运行、断点等方式;

② 或按单步或跟踪命令按钮,按一次单步,执行一条指令,pc指针指向下一条要被执

行的指令;

③ 检查运行结果

Ⅰ打开“视图”菜单,选择“存储器窗口”,d出存储器对话框;

Ⅱ在存储器对话框的下方选择memory1在地址栏中键入“C:0X0000”回车,建立程序存储器的观察窗口;

Ⅲ选择memory2在地址栏中键入“D:0X00”回车,建立内部数据存储器的观察窗口;

Ⅳ选择memory3在地址栏中键入“X:0X0000”回车,建立外部数据存储器的观察窗口;

Ⅴ在“project workspace”窗口中观察r0-r7,a,pc,dptr,psw,要观察各个标志位,打开psw左侧的+号;

9、设置PC指针

当程序的首地址不是0000H时,汇编结束后,PC指针仍然指向0000H的地方,在调试程序前,一定要将PC设置到你的程序首地址处,方法为:

1)将光标移到程序的第一条指令处,击鼠标右键;

2)在快捷菜单中选择“Set Program Counter”命令,PC指针即可指向程序的第一条指令。

上次貌似看过这个题,不过仔细一看,这个问题有stack ends,那应该是楼主新开的帖子了。

我对汇编理解一般,还停留在基础上,也不主攻汇编,看楼主问了这么久,就问问不要紧吧

貌似要用data做输入,然后计算完输出到table中

start : mov ax,data

mov ds,ax

mov ax,table

mov es,ax

data给了ds段,

table给了es段,那么为什么

mov ax,es:[bx][5]

mov dx,es:[bx][7]

div word ptr es:[bx+10]

要一直 *** 作es段呢?

你计算完了之后

是把 mov es:[bx+13],ax,也就是说此时es确实是用来放结果的

但是

mov ax,es:[bx][5]

mov dx,es:[bx][7]

也同样都是获取的es段啊?

而且中间也没有过压栈退栈的 *** 作

word ptr es:[bx+10]先放到别的寄存器里不行么?

db 10 dup (0) 够用么?

希望能帮助楼主你

汇编后的程序是exe的,你在“开始”-“运行”-“cmd”打开命令提示符。把你的程序复制到c根目录下。让提示符也转到c根目录下,直接输入程序名字就行了。或者先在“edit”编辑一个源程序后再“link”源程序,最后是调试“debug”+程序名exe。就能运行。但是汇编程序可移植性差需要反复修改。祝你好运!

下载MASM这个软件,把写好的汇编存成ASM的文本文件,例如:1ASM,然后在DOS命令下,找到这个文件的位置,输入如下内容:

MASM 1;

LINK 1;

即可生成 1EXE

注意要把MASM这个软件和1ASM放在同一个位置

以上就是关于什么是汇编程序,编译程序,解释程序它们的功能是什么全部的内容,包括:什么是汇编程序,编译程序,解释程序它们的功能是什么、汇编程序在哪里编辑,运行时候哪里看结果、简述上机运行汇编语言程序的过程。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存