1 / 8

XXXXX

XXXXX. XXXXX. 变址寄存器. 1. 2. 3. (一)寄存器变址操作的一般规则. 变址的方法是将变址 寄存器 V 和 Z 这两个 16 位 的寄存器放在各种寄存 器的后面,充当操作数 地址的偏移量. 操作数的实际 地址就是寄存器的 当前值以及 V 和 Z 内 容相加后的和. 当源或目标寄存器用 [S · ] 或 [D · ] 表示时,就能进行变址操作。对 32 位数据进行操作时,要将 V 、 Z 组合成 32 位( V , Z )来使用,这时 Z 为低 16 位, V 为高 16 位. 4. 当 V=8 , Z=14 时,

raoul
Télécharger la présentation

XXXXX

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. XXXXX XXXXX 变址寄存器

  2. 1 2 3 (一)寄存器变址操作的一般规则 变址的方法是将变址 寄存器V和Z这两个16位 的寄存器放在各种寄存 器的后面,充当操作数 地址的偏移量 操作数的实际 地址就是寄存器的 当前值以及V和Z内 容相加后的和 当源或目标寄存器用[S·]或[D·]表示时,就能进行变址操作。对32位数据进行操作时,要将V、Z组合成32位(V,Z)来使用,这时Z为低16位, V为高16位

  3. 4 当V=8,Z=14 时, D(5+8)=D(l3); D(10+14)=D(24); 则(D13)→(D24) 当V=9,D(5+9)=D(14), 则(D14) →(D24) 图7.11 变址寄存器的应用 (一)寄存器变址操作的一般规则 可以用变址寄存器进行变址的软元件是X、Y、M、S、 P、T、C、D、K、H、KnX、KnY、KnM、。例如V=6,则 K20V为K26(20+6=26);如果V=7,则K20V变为K27 (20+7=27)。变址寄存器应用如图7.11所示: 如: 但是,变址寄存器不能修改V与Z本身或位数指定用的Kn参数。 例如K4M0Z有效,而K0ZM0无效。

  4. 图7.12 变址操作举例 第一行指令执行25→V,第二行指令执行30→Z,所以变址寄存器 值:V=25, Z=30。第三行指令执行(D5V)+(D15Z)→(D40Z) [S1·]为D5V:D(5+25)=D30 源操作数1的实际地址 [S2·]为D15Z:D(15+30)=D45 源操作数2的实际地址 [D·]为D40Z:D(40+30)=D70 目操作数的实际地址 所以,第三行指令实际执行(D30)+(D40)→(D70),即 D30的内容和D45的内容相加,结果送入D70中去; 【例1】 求执行加法操作后源和目操作数的实际地址 解:

  5. 图7.13 16位指令操作数的变址举例 (二)16位指令操作数的变址 【例2】图7.13是16位指令操作数修改的例子 将K0或K1的内容向变址寄 存器V0传送,当X001=ON, (1)V0=0时,(D0+0=D0), 则K500的内容向D0传送; (2)若V0=10时D0+10=D10), 则K500的内容向D10传送

  6. 图7.14 32位指令操作数的变址举例 (三)32位指令操作数的变址 【例3】图7.14是32位指令操作数修改的例子 DMOV是32位的指令,因此在该指令中使用的变址寄存器也必须指定32位; 在32位指令中指定了变址寄存器的Z寄存器(Z0~Z7)及与之组合的V寄存器(V0~V7) 即使Z0中写入的数 值不超过16位数值范围 (0-32767),也必须 用32位的指令将V,Z两 方向改写,如果只写入 Z侧,则在V侧留有其它 数值,会使数值产生很 多的运算错误

  7. 图7.15 常数K的修改举例 (四)常数K的修改 【例4】图7.15是常数的修改的例子 当X005=ON时: (1)若V5=0,(K6+0=K6), 则将K6的内容向D10传送 (2)若V5=20时,(K6+20=K26), 则将K26的内容向D10传送

  8. 图7.16 8进制软元件(编号)的变址举例 (五)输入输出继电器八进制软元件的变址 【例5】输入输出继电器8进制软元件的变址的例子 这种变换是将变址值0、 8、16通过(X0+0=X0)、 (X0+8=X10)、X0+16= X20)的八进制的换算,然 后相加软元件的编号,使输 入端子发生变化 用MOV指令输出Y7 ~Y0,通过变址修改输 入,使其变换成X7~X0, X17~X10,X27~X20

More Related