ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

汇编语言的那些事----------第一个程序(二)

2021-10-09 12:03:34  阅读:284  来源: 互联网

标签:ends end 汇编语言 伪指令 程序 assume ---------- ax segment


作者:嵌入式历练者

ID : Eterlove

记下相关笔记,记录我的学习生活!站在巨人的肩上Standing on Shoulders of Giants!

该文章为原创,转载请注明出处和作者:https://blog.csdn.net/Eterlove/article/details/120656471

目录

1.先看伪指令segment和ends

2.再看伪指令end

3.浅谈伪指令assume

4.注意的关键点

5.用汇编语言来写一个2的三次方运算


先来看下面一段节选的汇编语言源程序:

assume cs:codesg

codesg segment

        mov ax,0123H
        mov bx,0456H
        add ax,bx
        add ax,ax

        mov ax,4c00H
        int 21H

codesg ends

end
  • 在汇编语言源程序,包括两种指令,一个是汇编指令,另一个就是伪指令

【!】汇编指令:编译之后有对应的机器所能识别的机器指令,最终能够被CPU所执行

【!】伪指令:没有对应的机器指令,最终不被CPU所执行,因为伪指令是由编译器来执行的指令,编译器通过伪指令来进行相关的编译工作。

1.先看伪指令segment和ends

XXX segment
    .
    .
    .

XXX ends
  • segment和ends是一对成对出现的伪指令,有头有尾,从不分离,这在写可被编译的汇编程序中,必须出现的伪指令。
  • segment和ends的功能是定义一个段,segment定义段的开始,ends定义段的结束。一个段必须用一个名字来标识,格式:段名 segment.....段名 ends
  • 一个汇编程序有多个段组成(至少要有一个段),这些段被用来存放代码,数据或当作栈空间来使用。

2.再看伪指令end

end
  • end表示汇编程序的结束,它告诉编译器程序在这里结束,这与ends不同,ends表示一个段的结束,你可以这样理解ends="end segment"

3.浅谈伪指令assume

assume cs:段名
  • assume英文表示“设想,假设”的意思。上面程序表示某段的寄存器(这里指cs)与某一个用segment和ends定义的段相关联,伪指令assume用来标识或说明这种关联。

4.注意的关键点

codesg segment
     .
     .
     .
codesg ends
  • 需要强调的是,汇编语言中还有一些标号,一个标号指代了一个地址,比如说“codesg”,它作为一个段的名称,这个段名通过编译,链接程序后最终将被处理为一个段的段地址

5.用汇编语言来写一个2的三次方运算

assume cs:aaa(对这个程序,也不是非要写上assume)

aaa segment
    mov bx,2
    add ax,bx
    add ax,ax
     
aaa ends

end

对基本汇编指令存在疑惑的伙伴,可以看看这个:汇编语言的那些事------学习闲谈(一)_Eterlove的博客-CSDN博客

人生就像一只储蓄罐,你投入的每一分努力都会在未来的某一天,回馈于你。而你所要做的,就是每天多努力一点点。请相信:别人拥有的,不必羡慕;只要努力,时间都会给你!

待更新!!!!

标签:ends,end,汇编语言,伪指令,程序,assume,----------,ax,segment
来源: https://blog.csdn.net/Eterlove/article/details/120656471

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有