这个很简单:

sp:表示栈顶指针,指向栈顶地址.与SS相配合使用.ss为栈段.

bp:是基址指针,段地址默认在SS中.可以定位物理地址,比如:"mov ax,[bp+si+6]/mov ax,[bp+di+6].

DI:是目的变址寄存器.一般情况下与ds联用,来确定某个储存单元的地址.

SI:是源变址寄存器,默认段地址和DI一样,在DS中.和DS联用.

这四个寄存器,都是16位的,不可以分割为八位.

要注意,1,sp和bp段地址默认在SS中.2..sp指向栈顶元素地址.有自加和自减能力,而bp没有.但是bp可以定位栈中某个元素的物理地址.

DI和SI

这两个属于变址寄存器.可以和bx.bp联用,但是和bx连用时,段地址在DS中,和bp联用时,段地址在SS中.也可以单独使用,单独使用时,段地址默认在DS中,想要越段使用,加上段前缀即可.

在串指令操作中,si和ds联用,确定目标源地址,di和es(附加段寄存器)联用,确定传送的目的地址.说白了就是,分别寻址数据段和附加段.

在串指令中,si和di具有自加和自减功能,

纯手打,望采纳!!!

汇编语言中"[]"的用法

"[]"的用法在"常见问题"已经有所说明,引用如下: 1.push dword ptr [024c1100] 压栈024c1100值的双字 2.cmp eax, ...

bx, bp, si, di寄存器的使用规则

首先,都可以单独使用. 另外,组合使用的情况下: 记住这张图片就行了=_= 意思就是,bx只能和si,di组合.bp只能和si,di组合.

汇编语言中PTR的含义(转载)

mov ax,bx ;是把BX寄存器“里”的值赋予AX,由于二者都是word型,所以没有必要加“WORD” mov ax,word ptr [bx];是把内存地址等于“BX寄存器的值”的地方所存放的数 ...

C++语言中的static关键字的作用是什么?

在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变.在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问.它是一个本地的全局变量.在模块 ...

汇编语言中LABEL伪指令的功能?

LABEL 一般用作定义变量和标号的属性,它是与紧接着的下一条变量和标号定义语句相关的,其类型可以为BYTE.WORD.DWORD.QWORD.NEAR.FAR等等.用法为:buffer(变量) LA ...

【汇编】SI DI 的用法

一.汇编语言中,为什么SI和DI不能同时使用汇编 其实你可以想一下,这两个寄存器的意思,SI源变址寄存器,DI目地变址寄存器,既然是变址寄存器,那么他们肯定是在某个地址的基础上进行偏移变化,由此我们就 ...

C语言中fgetc、fputc和getc、putc的区别是什么

看书的时候,发现了这四个函数,想知道他们的不同.结果上网查发现很多人说fgetc.fputc的f代表的是file,就是这两个函数是和文件有关的!但是一看他们的函数声明,如下图: 发现他们的参数里面都有 ...

汇编语言之寄存器使用bx si di bp

转载自:https://www.cnblogs.com/youxin/archive/2012/05/29/2524780.html 如果你看到这篇博客时正在做第七章问题,强烈建议先去把8.1~8.4 ...

C语言中static关键字的作用

static的作用(精辟分析) 在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条. (1)先来介绍它的第一条也是最重要的一条:隐藏. 当我们同时编译多个文件时,所有未加sta ...

随机推荐

XSS quiz练习题做题过程及感悟

XSS quiz 最近刚学XSS.所以新手理解如有错误不当,欢迎批评指正. 第1题 一开始做,使用了Chrome浏览器.第一题怎么都做不出来.突然想起来使用IE,打开IE11,才成功了.

[GO编程]GO编程环境

GO是一个开源项目,由Google大神发明的,他主要是用于应用程序级开放,可以编译成机器码,和C++一样不需要.NET或JAVA那样的运行框架,因此是个不错的编程语言.更何况发明者都是高手中的高手,而 ...

Linux的中断 & 中断和异常的区别

参考 http://www.yesky.com/20010813/192117.shtml 结构化程序设计思想认为:程序 = 数据结构 + 算法.数据结构体现了整个系统的构架,所以数据结构通常都是代码 ...

crontab在一秒内刷新多次导致部分脚本不生效的问题分析

版权声明:本文由康中良原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/182 来源:腾云阁 https://www.qclo ...

【面试题015】链表中倒数第k个结点

[面试题015]链表中倒数第k个结点    可以用两个指针,当第一个指针指向了第k个时候,第二个指针让他指向链表的第一个元素,然后这两个指针同时向后面移动, 当第一个指针移动到末尾的时候,第二个指针指 ...

简析LIVE555中的延时队列

http://www.cnblogs.com/nightwatcher/archive/2011/04/10/2011158.html 最近在看LIVE555的源码,感觉其中的延时队列写的不错,于是就 ...

alpha rarefaction using qiime

shannon菌群多样性指数 H=-∑(Pi)(㏑Pi) Pi=样品中属于第i种的个体的比例,如样品总个体数为N,第i种个体数为ni,则Pi=ni/N: 各种之间,个体分配越均匀,H值就越大.如果每一 ...

MT【302】利用值域宽度求范围

已知$f(x)=\ln x+ax+b (a>0)$在区间$[t,t+2],(t>0)$上的最大值为$M_t(a,b)$.若$\{b|M_t(a,b)\ge\ln2 +a\}=R$,则实数$ ...

学生成绩管理系统(C++指针、链表、文件及面向对象的运用)

学生成绩管理系统 功能页面显示:    实现源码: #include #include #include # ...

汇编中的la_汇编语言中,SP,BP ,SI,DI作用?相关推荐

  1. 汇编语言中PTR的含义及作用

    汇编语言中PTR的含义及作用 mov ax,bx ;是把BX寄存器"里"的值赋予AX,由于二者都是word型,所以没有必要加"WORD"    mov ax,w ...

  2. 计算机组成原理db和dw,汇编中的DW是什么意思那DB 它们什么作用

    汇编中的DW是什么意思那DB 它们什么作用以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 汇编中的DW是什么意思那DB ...

  3. java可以使用c语言中的输入,c语言中的scanf在java中应该怎么表达,Scanner类。

    1 java是面向对象的语言 它没有像C语言中的scanf()函数,但是它的类库中有含有scanf功能的函数 2 java.util包下有Scanner类 Scanner类的功能与scanf类似 3 ...

  4. break在c语言中的应用,c语言中break的用法

    C语言中break语句有以下两种用法: 1.当break语句出现在一个循环内时,循环会立即终止,且程序流将继续执行紧接着循环的下一条语句. 2.它可用于终止switch语句中的一个case. 如果使用 ...

  5. ab 是什么意思C语言中,a/b在c语言中什么意思,c语言中ab是什么意思

    Q1:c语言中y=(x=a+b,b+c)代表什么意思 x=a+b表达式使得x=6,其返回值为X(x,b+c)是逗号表达式,逗号表达式的值为最后一个子表达式的值所以 y=b+c y=10 Q2:C语言中 ...

  6. python中mod运算符_Python语言中mod指的是什么

    Python语言中mod指的是什么 发布时间:2020-07-17 11:21:21 来源:亿速云 阅读:255 作者:清晨 小编给大家分享一下Python语言中mod指的是什么,希望大家阅读完这篇文 ...

  7. break在java语言中什么意思,c语言中break是什么意思?

    break在switch(开关语句)中在执行一条case后跳出语句的作用. break语句通常用在循环语句和开关语句中.当break用于开关语句switch中时,可使程序跳出switch而执行swit ...

  8. C语言中,头文件的作用,头文件和源文件的关系(转)

    简单的说其实要理解C文件与头文件(即.h)有什么不同之处,首先需要弄明白编译器的工作过程,一般说来编译器会做以下几个过程: 1.预处理阶段  2.词法与语法分析阶段  3.编译阶段,首先编译成纯汇编语 ...

  9. c语言中eles后面分号的作用,C语言 if else 语句详细讲解

    前面我们看到的代码都是顺序执行的,也就是先执行第一条语句,然后是第二条.第三条--一直到最后一条语句. 但是对于很多情况,顺序结构的代码是远远不够的,比如一个程序限制了只能成年人使用,儿童因为年龄不够 ...

最新文章

  1. Redis 入门安装(Linux)
  2. C++_volatile限定修饰符 Pair类型
  3. 用oracle列实现sqlserver的自增列
  4. QDoc清单文件示例
  5. springboot官网-pom.xml文件
  6. 重温.NET下Assembly的加载过程
  7. MySQL-5.7.21非图形化下载、安装、连接问题记录
  8. Django搭建个人博客:文章标签功能
  9. CentOS6.5利用Docker部署ShowDoc
  10. 软件需求规格说明书模板
  11. puppet单机模型
  12. matlab迭代实现矩阵运算,用matlab实现Rayleigh迭代计算矩阵特征值的程序
  13. 简述php语言的特点是_PHP是什么语言?有什么的特点?
  14. 专访清华裘捷中:亚洲高校首个KDD最佳博士论文奖是如何炼成的?
  15. SQL数据库面试题以及答案(50例题优化版-增加图片):你必知必会的SQL语句练习
  16. 广州大学2021计算机组成原理课程设计实验报告
  17. 蓝牙hid协议源码解析
  18. C++虚函数的实现原理
  19. 移植OpenCV的AdaBoost人脸检测算法到DM6467
  20. 注册表中设置页面打印参数

热门文章

  1. 怎样在线完成gif动画制作?教你一键快速生成gif动图
  2. linux df-h命令详细,df命令_Linux df 命令用法详解:显示磁盘的相关信息
  3. 二十二 、I/O流1
  4. 实现基于国密SM3的密钥派生(KDF)功能
  5. POJ 1691 - Painting A Board + Python (DFS)
  6. Java初级应用——编写西游记人物类,属性包括,身高,名字,武器。用一个测试类测试。
  7. 找出数组中重复的数字
  8. SAR信号处理重要工具-傅里叶变换
  9. 第一章 Excel数据分析入门 --(2)Excel导入数据
  10. 北京一建增报专业成绩如何进行管理