资源描述
立即寻址的例子立即寻址的例子直接寻址的例子直接寻址的例子存储器间接寻址的例子存储器间接寻址的例子L QBDBD 10/将输出字节装入累加器1,输出字节的地址指针在数据双字DBD10 中/如果DBD10 的值为20000 0000 0000 0000 0000 0000 00100000,装入的是QB4A MLD 4/对存储器位作“与”运算,地址指针在数据双字LD4 中/如果LD4 的值为20000 0000 0000 0000 0000 0000 0010 0011,则是对M4.3 进行操作00地址寄存器的装入与传送指令可以不经过累加器1,与地址寄存器AR1 和AR2 交换数据。下面是应用实例:LAR1 DBD20/将数据双字DBD20 中的指针装入AR1LAR2 LD180/将局域数据双字LD180 中的指针装入AR2LAR1 P#M10.2/将带存储区标识符的32 位指针常数装入AR1LAR2 P#24.0/将不带存储区标识符32 位指针常数装入AR2TAR1 DBD20/AR1 中的内容传送到数据双字DBD20TAR2 MD24/AR2 中的内容传送到存储器双字MD24寄存器间接寻址的例子指针常数P5.0 对应的二进制数为20000 0000 0000 0000 00000000 0010 1000。L P#5.0/将间接寻址的指针装入累加器1LAR1/将累加器1 中的内容送到地址寄存器1A MAR1,P#2.3/AR1 中的P#5.0 加偏移量P#2.3,实际上是对M7.3 进行操作=QAR1,P#0.2/逻辑运算的结果送Q5.2L DBWAR1,P#18.0/将DBW23 装入累加器1区域间间接寻址L P#M6.0/将存储器位M6.0 的双字指针装入累加器1LAR1/将累加器1 中的内容送到地址寄存器1T WAR1,P#50.0/将累加器1 的内容传送到存储器字MW56P#M6.0 对应的二进制数为2#1000 0011 0000 0000 0000 000000110000。因为地址指针P#M6.0 中已经包含有区域信息,使用间接寻址的指令T WAR1,P#50中没有必要再用地址标识符M。双指针使用实例双指针使用实例配方号数据长度配方源区数据块目标起始地址读出配方目标区数据块双指针使用实例双指针使用实例双指针使用实例双指针使用实例进栈数据堆栈区长度堆栈区数据块堆栈区清零标志堆栈区数据块执行条件双指针使用实例双指针使用实例双指针使用实例实验题要求编制数据判断查询功能,输入数据变量求编制数据判断查询功能,输入数据变量MD100MD100,判断数据区域(大于等于,判断数据区域(大于等于下限小于上限),输出系数,输入数据不在数据区域,错误位置位(寄存器间接寻下限小于上限),输出系数,输入数据不在数据区域,错误位置位(寄存器间接寻址编程)址编程)下限10.00.510.020.01.520.030.02.530.040.03.540.050.04.550.060.05.560.070.06.570.080.07.580.090.08.590.0100.09.5上限系数输入数据数据块系数错误位0.0
展开阅读全文