㈠ 汇编语言中的指令应该在计算机的什么地方编写,如何运行
主要是CPU的作用,但是汇编语言的运行是在内存中,既是在片内程序存储器中取程序,然后在CPU的控制器和运算器下完成。指令的编写一般情况下都是编写在片内程序存储器中,当然当片内存储空间不够用时,就需要外扩片外程序存储器了,而数据存储器就是在指令中数据的存储位置了。呵呵,我作为一个局外人,奉劝一句,要想把单片机学好,应该把单片机的结构和原理弄清楚,其中包括它的存储空间,也许一开始有点困难,但弄明白后就简单多了,对于指令可以找一些技巧去记,比如说加法和减法指令相对,记住一个就行,而他们大多都是一累加器A作为目的操作数的,同样可以记住那些逻辑指令,对于其他的,也有规律,看你怎么记了。说了不少,对你有用的话,就采取,没有用就算了。
㈡ 简述上机运行汇编语言程序的过程。
实验操作说明
Keil
软件调试方式分为:软件仿真方式和硬件调试两种。
软件仿真实验上机操作步骤:
1、进入Keil,点击桌面上“Keil
μVersion
3”图标,进入Keil系统窗口;
2、新建工程:
1)打开“工程”菜单中的新建,在弹出的对话框中,键入自己定义的工程名;
2)在进一步打开的对话框中,选择CPU的类型,为Intel公司的8032AH,确定;
3)存入D:\keil
文件夹中。(在大机房,安装在C盘,改为C:\keil)
3、打开“视图”菜单中的“工程窗口”;
4、在“工程窗口”中,右击“目标1”,为工程设置参数;
1)在弹出的快捷菜单中选择“为目标“目标1”设置选项”;
2)在弹出的对话框中选择“项目”选项卡,设置时钟为“12Mhz”;
3)选择“调试”选项卡,在单选框选择“软件仿真方式”;
4)确定,即完成了“软件仿真方式”的设置。
5、新建文件
1)打开“文件”菜单,选择“新建”;
2)系统打开一个文本窗口,你可在窗口的编辑区输入要调试的汇编语言源程序;
3)存盘,命名文件名和扩展名,文件名任起,扩展名必须是.asm,存入D:\keil
文件夹中(在大机房,安装在C盘,改为C:\keil);例如:a.asm。
6、将刚建的新文件添入当前的工程中
1)在“工程窗口”中,“目标1”的+号处打开,显示“源代码组1”;
2)右击“源代码组1”,在快捷菜单中选择“为“源代码组1”添加文件”,弹出一个对话框;
3)在对话框中选择“文件类型”为*.*;
4)
选择文件所在路径,同时找到刚键入的a.asm文件,点击“add”按钮,然后点击“close”按钮;
5)
在“工程窗口”点击“源代码组1”左侧的+号,显示添加的a.asm文件,添加成功。
7、汇编
1)在“工程窗口”点击“源代码组1”的a.asm文件;
2)打开“a.asm”文件编辑窗口;
3)点击工具按钮中的“重建所有的目标文件”,进行汇编;
4)在“输出窗口”显示汇编是否有错,无错,进入调试;
有错,在编辑窗口修改程序,改后,再次汇编,直至无错后进入调试;
8、调试程序
1)点击“开始/停止调试”按钮,进入调试界面;
2)在程序窗口中有一个黄箭头指向程序的第一条可执行指令的开头;
3)选择调试方式进行调试;
①
在“调试”菜单中选择:跟踪、单步、运行、断点等方式;
②
或按单步或跟踪命令按钮,按一次单步,执行一条指令,pc指针指向下一条要被执
行的指令;
③
检查运行结果
Ⅰ打开“视图”菜单,选择“存储器窗口”,弹出存储器对话框;
Ⅱ在存储器对话框的下方选择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指针即可指向程序的第一条指令。
㈢ 怎么运行汇编语言
汇编语言源程序运行方法:
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)。
㈣ 怎么用电脑的命令符窗口进行汇编程序
详细步骤如下:
1.
将写好的汇编代码保存为1.asm
2.
将1.asm复制到c盘下
3.
点开始(即左下标那个windows图标),找到运行,或(附件中的命令提示符)
4.
找到运行后,输入cmd
或
command
5.
进入后输入cd
c:\
6.
输入masm
1;(1后面有分号),然后回车
7.
输入link
1;然后回车
8.
cls清屏然后回车
9.
输入1.exe,然后回车
10.
完成
如果你需要debug,步骤如下:
1
-
8步同上
9. 输入debug
1.exe,然后回车
10
完成
通过以上步骤你便可以通过命令符窗口进行汇编程序。
汇编语言(assembly
language)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。普遍地说,特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。
㈤ 汇编程序从哪里开始执行
如果你看过PE头,就明白了。编译生成后的EXE格式的文件,程序执行时,会由Windows解析PE头并加载到内存,由PE头决定程序的执行地址。PE头是系统默认的数值,当然,我们也可以修改。你所说的0000h其实就是一个虚拟地址里的开头部分,在真正的物理内存里,它可不是这个值,这个值由Windows根据PE头信息进行确定。如果你针对的是程序代码的执行,程序是从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)。
㈦ 如何在DOS环境下运行汇编程序
汇编后的程序是EXE的,你在“开始”-“运行”-“cmd”打开命令提示符。把你的程序复制到C根目录下。让提示符也转到C根目录下,直接输入程序名字就行了。或者先在“edit”编辑一个源程序后再“link”源程序,最后是调试“debug”+程序名.exe。就能运行。但是汇编程序可移植性差需要反复修改。祝你好运!
㈧ 完整的汇编程序在哪里实现运行
在dos里运行。即打开命令提示符或在开始-运行里输入cmd。再打开的窗口中输入程序的地址就可以运行了
㈨ 如何运行汇编程序
要运行汇编程序,可以有很多的方法,也可以用一些专门的软件,但众所周知,汇编的话,是即使用记事本也是可以写出来然后在DOS环境下运行的,只要有MASM.EXE和LINK.EXE即可,当我们在记事本里写好汇编程序时,应把它保存成.asm的格式,如sort.asm,然后在开始->运行中输入cmd,转到你存放程序的文件夹,最好所有的文件都是用英文命名,如我的是在D盘的huibian文件夹中
㈩ 汇编语言中如何运行指令
1、点击开始->运行, 输入 cmd ,打开命令提示符;
4、在debug模式中,就可以输入自己想运行的汇编指令了。