




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2016/7/1 7 G 2001. 接寻址及地址寄存器指令 L W P#- - - - 1 2 9 10 # ? ? 2016/7/1 7 G 2001. 中可能的寻址方式 寻址方式 直接寻址 间接寻址 绝对寻址 符号寻址 存储器间接寻址 寄存器间接寻址 示例: A I BA IA I#A #L #P T L L #T W#16位指针 ( T, C) 32位指针 内部区域 32位指针 内部区域 32位指针 交叉区域 2016/7/1 7 G 2001. 量直接寻址 存储单元位置 (示例) I 址 附加访问宽度 字节,字,双字 含义 输入 Q 节,字,双字 输出 55 字节,字,双字 外设输入 53 字节,字,双字 外设输出 M 节,字,双字 位( 存储器 T 114 时器 C 13 数器 节( , 字( , 双字( 通过 节( , 字( , 双字( 通过 L 节( , 字( , 双字 ( 本地数据堆栈 2016/7/1 7 G 2001. 打开的数据块 在数据块中装载和传递 B 19 I 20 组合指令 ( 包含 ) L 装载数据字节 1 L 装载数据字 2( 字节 2/3) L 5 装载数字 5 T 传递到字 4 L A 装载 L 载数据字节 28 =I 比较 A 0字节的第 0位开始扫描 L 9中 装载数据字 4 L “号访问变量 有变量名 “A 0 的第 4个字节的第 7位开始扫描 2016/7/1 7 G 2001. 于 交换 将 L 将打开的 L 将打开的 装载数据块长度 L 将打开的 字节装载到 L 将打开的 字节装载到 在程序中分析数据块 指令执行前: 指令执行后: 23 24 24 123 2016/7/1 7 G 2001. 字格式的 16位指针 ( 用于对 T、 L 11 T 0 B0 B 11 双字格式的 32位指针 ( 用于对 I、 Q、 M. L P#T 0 L I W L 4 存储 访问 地址 区域 宽度 存储器间接寻址 2016/7/1 7 G 2001. 于存储器间接寻址的指针结构 16位指针的结构: 为 0 . 65 535 之间的无符号整数 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 20 215 27 146 32位指针的结构 ( 内部区域): B B B B B B B B B B B B B X X X 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 B B B 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 20 22 位地址 字节地址 ( 无符号整数 ) 20 215 未定义 装载 32位指针常量 ( 内部区域 ): L P# P = 指针,字节地址 = 25, 位地址: 3) 2016/7/1 7 G 2001. 储器间接寻址的特性 用于存储 16位和 32位指针的地址区域: 位( 储区 ( 绝对寻址或符号寻址 ) 例如: B I“ 等。 A I T , 等 ) 本地数据堆栈 ( 绝对寻址或符号寻址, 例如: B I#。 A I T 等。 ) 全局 ( 共享 ) 数据块(只能进行绝对寻址, 例如: B( 覆盖掉 !), I。 A I T 等。 ) 背景数据块(只能进行绝对寻址, 例如: B I( 覆盖掉 !) , 等。 A I T 。 ) 向 在参数里传递的指针不能直接用于存储器间接寻址。 用于存储器间接寻址而传递的指针,在访问之前必须拷贝到临时变量里去 2016/7/1 7 G 2001. 接寻址示例 间接寻址示例 段) 1:使用间接寻址方式打开 L #100 / 打开 段) 2: 循环删除 L P#( 作为指针 T 0 / 传送到 0; L 10 / 将循环计数器值设置为 10 T 0 / 传到 0中; L 0 / 装载初始值 T D 40 / 传到 L 0 / 装载指针 L P#; L 0 / 装载循环计数器 ,条件满足则跳转; 2016/7/1 7 G 2001. 习 间接寻址的方法进行循环编程 - - - - 0 1 # . . 等等。 4 32 36 40 #节地址 2016/7/1 7 G 2001. 部区域,寄存器间接寻址 # / 设置 00000000 0000 0000 0000 0000 0101 0000 + 200 L M W P#存储区域 访问 地址 偏移 扩展指令: L 10 宽度 寄存器 常量 或 B B B B B B B B B B B B B X X X 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 B B B 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 20 22 位地址 字节地址 ( 无符号整数 ) 20 215 未定义 指令语法规则: 2016/7/1 7 G 2001. 叉 区域,寄存器间接寻址 # /设置 10000001 0000 0000 0000 0000 0101 0000 L W P# + 200 访问 地址 偏移 扩展 指令 : L 10 宽度 寄存器 常量 或 中的交叉区域指针: B B B B B B B B B B B B B X X X 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 1 0 0 0 0 R R R 0 0 0 0 0 B B B 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 位地址 字节地址 ( 无符号整数 ) 地址标识符 指令语法规则: 1=0: 内部区域 1=1: 交叉区域 地址标识符: 000 I/O 001 输入( 010 输出( 011 位 ( 存储器 100 101 中的数据 ( 110 自有本地数据 111 调用块的 本地数据) 2016/7/1 7 G 2001. 于装载地址寄存器的指令 装载地址寄存器 n =1 ) : 将 将 中的内容装载到 # 将 中的地址装载到 处理器寄存器: 比如: 32位变量: 比如: L 32位符号变量: 32位全局变量 ( 比如: 索引”,等 ) ( 全局和局域的) 以及 临时)变量 (比如: 等) P# 指向布尔型绝对地址 指针 : ( 比如: #等) 指向本地、符号地址 临时)变量 ( 比如: #等 ) 临时)变量 ( #等) 2016/7/1 7 G 2001. 它用于地址寄存器的指令 传送出地址寄存器内容 n =1 ): 从 从 : 处理器寄存器: 比如: 32位绝对地址变量: 如 32位符号变量: 32位全局变量 ( 比如 等 ) ( 全局和局域的) 及 临时)变量 ( 比如 地址寄存器内容交换 ( 指令 地址寄存器 换 地址寄存器加指令 + +#内部区域指针 P#2016/7/1 7 G 2001. 存器间接寻址的特性 在 当访问 果参数为复杂数据类型 ( ,则 容将会被覆盖掉。 当访问 果该 ,则 容将会被覆盖掉。 在装载地址寄存器和对目标变量进行寄存器间接寻址的时候,不允许 访问局部参数 在 在对 用作基址寄存器。 如果用户在 后就可以访问该 就是说,未恢复两个寄存器时不可访问。 在 2016/7/1 7 G 2001. - - - 0 1 1 2 9 10 11 . . . 等等。 4 32 36 40 字节地址 练习 寄存器间接寻址进行循环编程 2016/7/1 7 G 2001. 地址 声明 名称 类型 输入参数 输入参数 输入参数 . . L # #B . L # #. . 分别传送实际地址的各个信息 ( 里的方式): 起始地址 区域长度,等。 缺点: 程序员必须进行拆分 在调用期间,不能使用实际地址的符号名 一个地址 (区域)需要好几个参数 无一致性检查纠正 地址 声明 . 名称 类型 输入 . . 输入 . . L P# W#T #BL D#. . 使用 ( 方式): 调用时,程序员可以使用实际地址的符号名 由 一个地址只需要一个参数 进行一致性检查纠正 2016/7/1 7 G 2001. n n+2 n+4 n+1 n+3 n+5 1 O O O _ O R R R _ O O O O _ O B B B ( 32位交叉区域指针 ) B B B B _ B B B B _ B B B B _ B X X X 参数赋值 指针显示 P#中: n= x= 字节数, y= 位数 P# 比如 P#P#等) P# 其中: Z=区域,比如: P, I, Q, ( 比如 P#P#等) 地址声明: ( 这种情况下, # 到 数据类型结构: 2016/7/1 7 G 2001. n n+2 n+4 1 O O O _ O R R R _ O O O O _ O B B B B B B B _ B B B B _ B B B B _ B X X X 16#10 制系数 n+6 n+8 数据类型 标识符 0 1 2 3 4 5 6 7 8 9 A B C E 3 参数类型 标识符 7 8 9 A C D n n+2 n+4 16#0000 定时器,计数器或块的号 16#10 参数类型 16#0001 n+6 n+8 16#0000 2016/7/1 7 G 2001. 指针显示: P#数据块 .位地址 类型号 P#0 指向 2开始的 20个 ( . P#I 指向 位区域 地址声明: 绝对地址: 数据类型: 复制系数: 1 5,指针: P# 类型: 1, : 0,指针: P#I 35 类型: 编号: 35 符号地址: #使用基本数据类型,编译器建立正确 “ 的数据类型,复制系数 1以及指针 注意事项 符号 ( 赋值时,数据类型标识符 02(以及区域字节长度 只能由 编译器来建立,并输入到 2016/7/1 7 G 2001. 使用临时变量对 在调用块中声明 例如: 用指针信息对 例如: #16#10 / 装载标识符 1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 档案智能管理-洞察及研究
- 记忆工程驱动遗产价值再生产-洞察及研究
- 职称评审题库及答案网盘
- 债权投资题库及答案大全
- 西北民族大学《酒店财务管理实验》2023-2024学年第二学期期末试卷
- 沈阳城市学院《油画人物全身》2023-2024学年第二学期期末试卷
- 大理护理职业学院《微生物基础实验》2023-2024学年第二学期期末试卷
- 柳州铁道职业技术学院《消化系统疾病》2023-2024学年第二学期期末试卷
- 2025年执业药师资格证之《西药学专业一》预测试题附答案详解【黄金题型】
- 黄冈科技职业学院《互联网经济学》2023-2024学年第二学期期末试卷
- 生产与运作管理第5版配套教材电子课件(完整版)
- 房租代收款合同模板
- 2024届涿鹿县小升初全真数学模拟预测卷含解析
- 医疗机构审核管理制度
- 华南理工综评机测试题(一)
- 浙江省杭州市临平区2023-2024学年五年级下学期期末语文试卷
- 2024-2025部编人教版2二年级语文下册全册测试卷【共10套附答案】
- 第一课能源史简介
- 医疗器械仓库管理课件
- 2024年火电电力职业技能鉴定考试-600MW超临界机组运行笔试参考题库含答案
- 2024年全国工会财务知识大赛备赛试题库500(含答案)
评论
0/150
提交评论