汇编语言的那些事----------第一个程序(二)
2021/10/9 12:18:27
本文主要是介绍汇编语言的那些事----------第一个程序(二),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
作者:嵌入式历练者
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博客
人生就像一只储蓄罐,你投入的每一分努力都会在未来的某一天,回馈于你。而你所要做的,就是每天多努力一点点。请相信:别人拥有的,不必羡慕;只要努力,时间都会给你!
待更新!!!!
这篇关于汇编语言的那些事----------第一个程序(二)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-01基于Python+Vue开发的医院门诊预约挂号系统
- 2024-10-01基于Python+Vue开发的旅游景区管理系统
- 2024-10-01RestfulAPI入门指南:打造简单易懂的API接口
- 2024-10-01初学者指南:了解和使用Server Action
- 2024-10-01Server Component入门指南:搭建与配置详解
- 2024-10-01React 中使用 useRequest 实现数据请求
- 2024-10-01使用 golang 将ETH账户的资产平均分散到其他账户
- 2024-10-01JWT用户校验课程:从入门到实践
- 2024-10-01Server Component课程入门指南
- 2024-09-30Dnd-Kit学习:新手快速入门指南