注册名:

密码:

个人注册

企业注册

商务申请

商务管理平台

企业管理平台

个人管理平台

我的工控博客

中国工控网www.chinakong.com

首页 | 新闻中心 | 工控论坛 | 经验视点 | 工控商务 | 电气手册 | 工控博客 | 招聘求职 | 网上调查 | 企业中心 | 供求信息 | 资料中心 | 工控书店

所在位置:工控论坛 -- PLC论坛 -- OMRON PLC论坛 -- PLC基础

中国工控网搜索:

 登陆:密码:  注册  密码

搜索:

发表人:fangmingy 发表时间:2005/7/21 11:55:00  

 

 本栏论题: 什么是PLC直接寻址和间接寻址  [28941]

    什么是PLC直接寻址和间接寻址,请赐教!

以下是关于《什么是PLC直接寻址和间接寻址》论题的回复(共27篇,分2页显示)

 共2页  第1页   末页   下一页   

回复人:fangdakun 

 回复时间:2005/7/23 2:11:00

支持(912) | 反对(1186)

 

    回复:看看

    寻址方式
    1.寻址方式
    (1)寻址方式是指令中用于说明操作数所在地址的方法。如何正确地获得指令所需的操作数是寻址要求完成的工作。
   
    (2)80X86的寻址方式可分为程序地址寻址方式和操作数地址寻址方式。
   
    (3)80X86系列计算机有8种基本的操作数寻址方式:
   
    · 立即寻址
    · 直接寻址
    · 寄存器寻址
    · 寄存器间接寻址
    · 寄存器相对寻址
    · 基址加变址寻址
    · 相对基址加变址寻址
    · 比例变址寻址(比例变址寻址只在80386到Pentium微处理器中使用)
   
    2.立即寻址
    (1)特征
   
    · 立即寻址又称立即数寻址。
    · 操作数紧跟在操作码之后,直接放在指令中,执行速度快。这种操作数称为立即数。
    · 立即数规定只能为整数。立即数可以是8位或16位的。若是16位的,要求低字节数放在低位地址中,高字节数放在高位地址中。80386或更高档机器中,立即数可以是双字节的。
    · 立即数只能作为源操作数,不能作为目的操作数。
    · 它主要用来给寄存器赋值。
   
    (2)举例
   
    MOV AX ,2056H
   
    这条语句中,MOV指令是一个数据传送指令,它的功能是将数据2056H送入AX寄存器,执行后,AL中为56H,AH中为20H,如图2-1所示。
   
   

什么是PLC直接寻址和间接寻址


   
    图2-1 立即寻址实例
   
    3.直接寻址
    (1)特征
   
    · 直接寻址方式的操作数地址的16位偏移量(又称有效地址EA)直接包含在指令中,它紧跟在操作码之后,存放在代码段区域内。
   
    · 如果指令前面无前缀指明在哪一段,则默认操作数存放在数据段寄存器DS中。它的地址为数据段寄存器DS加上这16位地址偏移量。
   
    · 如果存放操作数的存储区是在DS段以外的段中,则应在指令中指定段跨越前缀。
   
    · 用符号地址代替数值地址。
   
    (2)举例
   
    MOV AX,DS:[2000H]
   
    如果(DS)=3000H,EA=2000H,则物理地址为32000H,操作过程如图2-2所示。
   
    4.寄存器寻址
    (1)特征
   
    · 操作数在CPU的内部寄存器中,寄存器名由指令指出。
   
    · 对8位操作数,寄存器可以是AL, AH, BL, BH, CL, CH, DL, DH中的任一个;对16位操作数,寄存器可以是AX, BX, CX, DX, SI, DI, SP或BP之一。
   
    · 这种从寄存器取得操作数的方式,与从存储器取操作数相比,执行速度要快。
   
   

什么是PLC直接寻址和间接寻址


   
    图2-2 直接寻址实例
   
    (2)举例
   
    MOV BX,AX ;将AX中的内容送入BX
   
    如指令执行前(AX)=2056H,(BX)=1200H
   
    则指令执行后(BX)=2056H,(AX)保持不变,如图2-3所示。
   
   
   

什么是PLC直接寻址和间接寻址


    图2-3 寄存器寻址实例
   
    5.寄存器间接寻址
    (1)特征
   
    · 寄存器间接寻址方式的操作数在存储器中。
   
    · 操作数地址的16位偏移量包含在寄存器BX, BP, SI和DI之一中。
   
    · 如果指令中未具体用前缀指明是哪个段寄存器,寻址时,对于BX, SI, DI寄存器,则默认操作数在数据段寄存器DS中,即数据段寄存器DS加上SI, DI, BX中的偏移量为操作数的地址。
   
    · 对于BP寄存器,默认的段寄存器为SS。
   
    (2)举例
   
    MOV AX,[SI]
   
    其操作过程如图2-4所示。
   
   
   

什么是PLC直接寻址和间接寻址


    图2-4 寄存器间接寻址实例
    6.寄存器相对寻址(或称变址寻址)
    (1)特征
   
    · 采用寄存器间接寻址时,允许在指令中指定一个8位或16位的偏移量。
   
    · 有效地址由一个基址或变址寄存器的内容加上一个偏移量来得到,即
   
    有效地址EA=

什么是PLC直接寻址和间接寻址


    +(8位偏移量或16位偏移量)
   
    如果使用BP变址,则与堆栈寄存器相加,形成操作数地址。
   
    (2)举例
   
    MOV AX,COUNT[SI]
   
    或
   
    MOV AX,[COUNT+SI]
   
    若(DS)=3000H,(SI)=2000H,COUNT=3000H,则其寻址过程如图2-5所示。
   
   
   

什么是PLC直接寻址和间接寻址


    图2-5 变址寻址
   
    7.基址加变址寻址
    (1)特征
   
    · 将一个基址寄存器的内容加上一个变址寄存器的内容形成操作数的有效地址。
   
    · 基址寄存器名和变址寄存器名均由指令指出。
   
    · 如无段跨越前缀,对于BX寄存器,默认的段寄存器为DS。只要用上寄存器BP,则默认的段寄存器为SS。
   
    (2)举例
   
    MOV AX,[BX][SI]
   
    或 MOV AX,[BX+SI]
   
    若 (DS)=3000H
   
    (BX)=2000H
   
    (SI)=1000H
   
    则偏移地址EA=2000H+1000H=3000H,物理地址=30000H+3000H=33000H,如图2-6所示。
   
   
   

什么是PLC直接寻址和间接寻址


    图2-6 基址加变址寻址示意
   
    重点
   
    80386或更高档机器中,可以用EAX, EBX, ECX, EDX, BX, EBP, ESI和EDI任意组合产生存储地址,例如:
   
    MOV CL ,[EAX+EBX]
   
    MOV [ECX+EAX] ,BX
   
    8.相对基址加变址寻址
    (1)特征
   
    · 基址加变址寻址也允许带一个8位或16位的偏移量。
   
    · 操作数的有效地址是一个基址寄存器的内容加上一个变址寄存器的内容,再加一个8位或l6位的偏移量。
   
    (2)举例
   
    MOV AX,MASK [BX] [SI]
   
    或 MOV AX,MASK [BX+DI]
   
    或 MOV AX,[MASK+BX+DI]
   
    设(DS)=3000H,(BX)=2000H,(SI)=1000H,MASK=0250H,则
   
    物理地址=30000H+2000H+2000H+0250H=33250H
   
    如图2-7所示。
   
   
   

什么是PLC直接寻址和间接寻址


    图2-7 相对基址加变址寻址
   
    重点
   
    80386或更高档机器可以用EAX, EBX, ECX, EDX, BX, EBP, ESI和EDI寻址内存,例如:
   
    MOV AX,ARRAY[EAX+ESI]
   
    这种寻址方式用起来比较灵活,尤其为堆栈数组的访问提供了较大的方便。访问堆栈数组时,将BP指向栈顶,偏移量用来表示栈顶到数组首地址的距离,变址寄存器DI(或SI)用来指向数组中某个元素。
   
    9.比例变址寻址
    (1)特征
   
    · 比例变址寻址只能在80386到Pentium微处理器中使用。
   
    · 比例变址指一对寄存器中的第二个用比例因子2, 4或8来乘,产生操作数的内存地址。
   
    (2)举例
   
    MOV EDX,[EAX+4*EBX]
   
    该指令将由EAX加上4倍EBX寻址的数据段存储单元的内容装入EDX。比例因子允许存取单字(乘2),或双字(乘4),或4字(乘8)的内存数组数据。
   
    注意:也存在乘1的比例因子,它意味着常规的寻址,一般不出现在指令中。MOV AL,[EBX+ECX]就是比例因子的例子。换句话说,这条指令可以写成MOV AL,[EBX+1* ECX]。另一个例子是指令MOV AL,[2+EBX],它只用一个比例寄存器去寻址内存。
   
回复人:电气406 

 回复时间:2005/9/14 14:52:00

支持(1089) | 反对(946)

 

    回复:看来你是高人,可否帮我解决一个问题

    我现在想将三菱的程序改编成OMRON的程序在三菱起始程序中有这样一条程序
    -----/ /------------[T0 K0 K0 H0000 K1]是什么意思
    M8002(起始脉冲)
    我主要是想了解[T0 K0 K0 H0000 K1]这条指令是什么意思 我查看了三菱手册,T0写入的意思 K0是单元号 K0是BFM#传送源地址 H0000好象是传送地点 K1是传送个数
    现在我要将这条指令改写成OMRON CQM1H的
    这位大哥给指点一下吧

回复人:fangmingy 

 回复时间:2005/7/27 11:24:00

支持(1078) | 反对(931)

 

    回复:看不懂!

    能通俗点吗?

回复人:粤风 

 回复时间:2005/9/8 13:28:00

支持(1041) | 反对(1078)

 

    回复:同感!

    如题!

回复人:seaok 

 回复时间:2005/9/14 13:04:00

支持(1001) | 反对(1032)

 

    回复:这个还不懂

    直接寻址就是可以直接找到的你要找的人的家,就可以找到人了;而间接寻址就是,你要先找到一个人,用他在去找你真正要找的人,

回复人:seaok 

 回复时间:2005/9/14 13:04:00

支持(1039) | 反对(967)

 

    回复:这个还不懂

    直接寻址就是可以直接找到的你要找的人的家,就可以找到人了;而间接寻址就是,你要先找到一个人,用他在去找你真正要找的人,

回复人:mggnet 

 回复时间:2007/5/21 7:11:00

支持(1250) | 反对(1082)

 

    伍大叔给你解释通俗点的
    设有三户人家门牌号为 32,33,34
    现在我叫你去32号那家,这是你是不是直接去32号那家
    就行啦->这就是直接寻址
   
    现在我就你去34号那家,但是你没他家的地址,但是你知道34号那家的地址33号那家人知道,你是不是要去33号那家问问,问道地址再去34号那家-〉这就叫间接寻址

回复人:abc366 

 回复时间:2007/10/14 20:26:00

支持(969) | 反对(1056)

 

    对,很精要,就是你要去的里方是由你指定的地点来确定真正要去的地址,呵

回复人:songjzhong 

 回复时间:2007/11/24 13:41:00

支持(1247) | 反对(1279)

 

    那是写入模快的命令,你查一下欧姆龙的就可以了
   

回复人:ydl7795 

 回复时间:2007/12/29 22:45:00

支持(891) | 反对(877)

 

    顶

回复人:smfzr 

 回复时间:2008/5/7 0:40:00

支持(1121) | 反对(851)

 

    后面的回复很有趣.

回复人:visitor 

 回复时间:2008/5/21 11:46:00

支持(780) | 反对(1137)

 

    没明白!
   

回复人:ydl7795 

 回复时间:2008/9/11 22:45:00

支持(1114) | 反对(879)

 

    PFS控制电机运转能有PID好吗?能否将PFS理论讲详细点吗?

回复人:ydl7795 

 回复时间:2008/9/11 22:46:00

支持(772) | 反对(1048)

 

    PFS控制电机运转能有PID好吗?能否将PFS理论讲详细点吗?

回复人:wanghw-yl 

 回复时间:2009/1/11 19:03:00

支持(734) | 反对(782)

 

    很精辟,都是高人,很感谢
   

 共2页  第1页   末页   页次: 1  2      下一页  

如果要回复本栏论题,请首先中国工控网www.chinakong.com

·如果你已经是中国工控网www.chinakong.com成员,请直接登录。

·如果你还不是中国工控网www.chinakong.com成员,请首先注册,注册为免费!

注册名:

密  码:

           注册中国工控网www.chinakong.com
           忘记密码

关闭该窗口

关于我们     免责声明     服务项目     广告联系     友情链接     联系方式     意见反馈     设为首页     加入收藏

 ©2023-2025 中国工控网(www.chinakong.com) 版权所有 豫ICP备17046657号

管理员信箱:chinakong98@163.com  服务热线:13525974529

洛阳博德工控自动化技术有限公司

中国    洛阳