1 / 9

XXXXX

XXXXX. XXXXX. 乘法指令. 除法指令 DIV. 加法指令 ADD. 减法指令 SUB. 加 1 指令 INC. 减 1 指令 DEC. 乘法指令 MUL. FX2 系列中有六条算数运算指令,能实现数据的加、减、乘、除等基本运算。. 乘法指令 MUL. 功能. 将指定两个源软元件中有符数,进行二进制有符数乘法,然后将相乘的积送入指定的目标元件中。. (一)指令格式. [S1·] 、 [S2·] 分别为作为被乘数和乘数的源软件组件。. [D·] 为存放相乘积的目标组件的首地址。. 1. 其中. 2. 源操作数可取所有数据类型。. 3.

ping
Download Presentation

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. 除法指令DIV 加法指令ADD 减法指令SUB 加1指令INC 减1指令DEC 乘法指令MUL FX2系列中有六条算数运算指令,能实现数据的加、减、乘、除等基本运算。

  3. 乘法指令MUL 功能 将指定两个源软元件中有符数,进行二进制有符数乘法,然后将相乘的积送入指定的目标元件中。

  4. (一)指令格式 [S1·]、[S2·]分别为作为被乘数和乘数的源软件组件。 [D·]为存放相乘积的目标组件的首地址。 1 其中 2 源操作数可取所有数据类型。 3 4 目标操作数可取KnY、KnM、KnS、T、C、D、V和Z。 1.指令编号及助记符: 乘法指令FNC22 MUL[S1·] [S2·] [D·]

  5. (二)指令用法 1.MUL指令的功能是将指定的[S1·]、 [S2·]两个源软组件中的数进行二进制代数乘法运算,然后将相乘结果积送入指定的目标软组件中。 1 2 MUL指令进行的是有符数乘法,被乘数和乘数最高位是符号位,分为16位和32位操作两种情况。

  6. 3 如图7.44所示,乘法运算指令应用举例。 图7.44 乘法运算指令应用举例 MUL指令进行的是有符数乘法,被乘数和乘数最高位是符号位,分为16位和32位操作两种情况: 两源的乘积以32bit形式送到指定目标,低16bit在指定目标元件,高16bit在下一个元件。16位运算如图7.45: 1.16bit运算

  7. 图7.45 16位乘法运算应用举例 MUL指令进行的是有符数乘法,被乘数和乘数最高位是符号位,分为16位和32位操作两种情况: 两源的乘积以32bit形式送到指定目标,低16bit在指定目标元件,高16bit在下一个元件。16位运算如图7.45: 1.16bit运算

  8. 当为32位运算,执行条件X0由OFF→ON时, [D1,D0]*[D3,D2] →[D7,D6,D5,D4]。源操作数是32位,目标操作数是64位。当[D1,D0]=238,[D3,D2]=89时,[D7,D6,D5,D4]=4982,最高位为符号位,0为正,1为负。 1 2 在32位运算中,如用bit元件作目标,则乘积只能得到低32bit。高32bit丢失。在这种情况下应先将数据移入字元件再进行运算。若D0=8,D2=9则(D5,D4)=72 ;最高bit是符号bit(0为正,1为负)。 2.32 bit运算 图7.46 32位乘法运算应用举例

  9. 乘法指令注意事项 在32位运算中,若目标元件使用位软元件,只能得到低32位的结果,不能得到高32位的结果。这时应先向字元件传送一次后再进行计算,利用字元件作目标时,不可能同时监视64位数据内容,只能通过监控运算结果的高32位和低32位并利用下式计算4位数据内容。这种情况下,建议最好采用浮点运算。 64位结果=(高32位数据)×232+低32位数据。

More Related