【I LOVE ZhuZhu】汇编语言4-1
汇编语言是与底层交互的语言,很有潜力。这里是私人磺拎噱租笔记。--------------------------I LOVE ZHUZHU---幻腾寂埒----------------------------------------
工具/原料
汇编语言
一个源程序从写出到执行的过程
1、第一步,编写汇编源程序,使用文本编辑器,用汇编语言编写汇编源程序。
2、第二步,对源程序进行编译连接。使用汇编语言编译程序对源程序文件中的源程序进行编译,产生目标文件,再用连接程序对目标文件进行连接,生成可在操作系统中直接运行的可执行文件。
3、可执行文件包含两部分内容。(1)程序和数据(2)相关的描述信息
4、第三步,执行可执行文件中的程序。
汇编语言4-2—代码
1、as衡痕贤伎sume cs:codesgcodesg segment mov ax,0123H mov bx,0456H add ax,bx a颊俄岿髭dd ax,ax mov ax.4c00H int 21Hcodesg endsend
伪指令
1、汇编指令是有对应的机器码的指令,可以被编译为机器指令,最终为CPU所执行。伪指令没有对应的机器指令,最终不被CPU所执行。伪指令是由编译器来执行的指令。
程序中出现的3中伪指令
1、(1)xxx segmentxxx ends
2、segment和ends是一对成对使用的伪指令,这是在写可被编译器编译的汇编程序时,必须使用到的一对伪指令。
3、segment和ends的功能是定义一个段,segment说明一个段的开始,ends说明一个段的结束。
4、格式为:段名:segment . .段名:ends
5、(2)endend是一个汇编程序的结束标记,编译器在编译汇编程序的过程中,如果碰到了伪指令end,就结束对源程序的编译。
6、(3)assume这条伪指令的含义为“假设”。它假设某一段寄存器和程序中的某一个用segment...ends定义的段相关联。
2.源程序汇总的“程序”
1、我们编程的最终目的是让计算机完成一定的任务。源程序中的汇编指令组成了最终由计算机执行的程序。
3.标号
1、汇编源程序中,除了汇编指令和伪指令外,还有一些标号,比如codesg,一个指令代表了一个地址。
4.程序的结构
1、编程晕眩2^3,源程序编写:(1)定义一个段,名称为abc:abc segment..abc ends
2、(2)在这个段中写入汇编指令、来实现adc segment mov ax,2 add ax,ax add ax,axabc ends
3、(3)指出程序在何处结束adc segment mov ax,2 add ax,ax add ax,axabc endsend
4、ab罕铞泱殳c被当做代码段来用,所以,应该讲abc和cs联系起来。assume cs:abcadc segment mov ax,2 add ax,ax add ax,axabc endsend
5.程序返回
1、一稍僚敉视个程序P2在可执行文件中,则必须有一个正在运行的程序p1,将p2从可执行文件中加载如内存条后,将CPU的控制权交给p2,p2才能得以运行。p2开始运行后,p1暂停运行
6.语法错误和逻辑错误
1、一般,程序在编译时被编译器发现的错误是语法错误。以下缺少返回
2、在运行时发生的错误是逻辑错误。语法错误容易发现,但是逻辑错误不容易被发现。