本文目录一览

1,基址寄存器和变址寄存器有什么区别

一个是段起始地址,一个是段内偏移地址。 你想想数组,int a[32]; 要访问a中的一个变量,需要a这个基地址,还需要一个偏移地址0-31。访问段内地址和这个道理一样

基址寄存器和变址寄存器有什么区别

2,请问PLC中变址寄存器V Z怎么使用跪求详解

举个小例子你就可以明白:1 MOV K2 V ;把常数2赋给变址寄存器V2 OUT Y2V ;驱动Y4线圈(Y2V就等于Y(2+V))这样就明白了吧,其实很简单的。Z和V用法完全一样,之所以有两个就是当需要32位变址的时候V和Z组合,V作高16为,Z作低16位。

请问PLC中变址寄存器V Z怎么使用跪求详解

3,什么叫基址寄存器什么叫变址寄存器还有偏移量它们有什么区别

基址寄存器(BX),由BH,BL组成,常用来存放访问内存时的基地址或用做间接寻址时的地址寄存器。还有基址指针寄存器(BP)。变址寄存器分为源变址寄存器(SI)和目的变址寄存器(DI),他们常常用在变址寻址方式中。有一种寻址方式叫基址变址寻址,就是基址和变址的组合比如:mov AX,[BX] [DI]基址和变址的寻址只能是以下四种:BX和SI,BX和DI,BP和SI,BP和DI。至于你说的偏移量就涉及到相对基址变址寻址了,这里的相对就是偏移量了。当然偏移量不仅仅在这个地方有用到,计算有效地址(EA)时要把它加上去。

什么叫基址寄存器什么叫变址寄存器还有偏移量它们有什么区别

4,汇编语言中什么是基址变址寄存器

基址寄存器:寄存器BX称为基地址寄存器(Base Register),它可作为存储器指针来使用。变址寄存器:32位CPU有2个32位通用寄存器ESI和EDI。其低16位对应先前CPU中的SI和DI,对低16位数据的存取,不影响高16位的数据。寄存器ESI、EDI、SI和DI称为变址寄存器(Index Register),它们主要用于存放存储单元在段内的偏移量,用它们可实现多种存储器操作数的寻址方式,为以不同的地址形式访问存储单元提供方便。变址寄存器不可分割成8位寄存器。作为通用寄存器,也可存储算术逻辑运算的操作数和运算结果。它们可作一般的存储器指针使用。在字符串操作指令的执行过程中,对它们有特定的要求,而且还具有特殊的功能。

5,关于PLC的变址寄存器

前面应该还有一步程序是Z=5,或Z=10等或Z等于别的数。若果Z=10,则Y0Z0的实际地址就是Y10,如果Z=20,则Y10Z0的实际地址就是10+20=30. 这个在三菱的手册上有详细的说明。
三菱PLC的变质寄存器的应用其实就是指令组态的一种,K2Y0Z0可以分解成K2Y0与Y0Z0来理解。K2Y0是“位号+位软元件的初始号”的一种组态,K2Y0是指从Y0到Y7的8点被指定(K1Y0是指从Y0到Y3的4点被指定);Y0Z0是指使用的软元件将变为“直接指定的软元件号+变址寄存器内容”,当Z0=3时,Y0Z0=Y(0+3)=Y3,Y3变为指定的软元件。当Z0=3,XY是16进制数时,K2Y0Z0=K2Y(0+3)=K2Y3=从Y3到YA的8点被指定;当Z0=20(20被转换成16进制=14),XY是16进制数,Y-64点时,K2Y0Z0=K2Y(0+14)=K2YD=从YD到Y14的8点被指定;当Z0=20,XY是16进制数时,K2D0Z0=K2D(0+20)=K2D20=从D20到D27的8点被指定。三菱Q系列编程手册上有关于指令组态的详细说明。
将d(2000+v1)中的值送入d556中。最终的地址取决于v1中的值,如果v1=100,那么d(2000+100)=d2100您需要首先对v1赋值,然后自行计算最终的寄存器地址,然后使用您软件的监控功能对最终寄存器赋值。

6,汇编语言中SI DI 的作用是什么

SI是源变址寄存器,用于存放源操作数的偏移地址,并且SI的内容有自动修改的功能,故称为源变址寄存器。DI是目的寄存器,用于存放目的操作数的偏移地址,并且DI的内容有自动修改的功能,故称为目的变址寄存器。DI和SI这两个属于变址寄存器,可以和bx.bp联用,但是和bx连用时,段地址在DS中,和bp联用时,段地址在SS中,也可以单独使用,单独使用时,段地址默认在DS中,想要越段使用,加上段前缀即可。在串指令操作中,si和ds联用,确定目标源地址,di和es(附加段寄存器)联用,确定传送的目的地址,就是分别寻址数据段和附加段。在串指令中,si和di具有自加和自减功能。扩展资料:由于汇编指令系统庞大,因而需构建指令系统体系,其指令数量庞大,格式复杂,可记忆性差等。指令中最难的是指令所支持的寻址方式,其实质就是指令中操作数如何获取。这部分指令用于执行算术和逻辑运算,包括加法指令ADD/ADC、减法指令SUB/SBB、加一指令INC、减一指令DEC、比较操作指令CMP、乘法指令MUL/IMUL、除法指令DIV/IDIV、符号扩展指令CBW/CWDE/CDQE、十进制调整指令DAA/DAS/AAA/AAS等。优点汇编语言作为机器语言之上的第二代编程语言,它也有很多优点:1、可以轻松的读取存储器状态以及硬件I/O接口情况。2、编写的代码因为少了很多编译的环节,可以能够准备的被执行。3、作为一种低级语言,可扩展性很高。缺点1、因为代码非常单调,特殊指令字符很少,所以造成了代码的冗长以及编写的困难。2、因为汇编仍然需要自己去调用存储器存储数据,很容易出现BUG,而且调试起来也不容易。3、就算完成了一个程序,后期维护时候也需要耗费大量的时间。4、因为机器的特殊性造成了代码兼容性差的缺陷。参考资料来源:百度百科-汇编语言 (面向机器的程序设计语言)
sp 是堆栈指针,当你使用phsu语句的时候就发现有变化bp是辅助,在特殊时候用si,di是一组指针当你需要拷贝一组内存的数据的时候一般是si是源数据指针,di是目的地址指针cx是计数器,只要cx不为零,就。。。。直到完成数据拷贝
这个很简单: 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具有自加和自减功能, 纯手打,望采纳!!!

文章TAG:变址寄存器  基址寄存器和变址寄存器有什么区别  
下一篇