| | tbldo.sa 3.1 12/10/90 | | Modified: | 8/16/90 chinds The table was constructed to use only one level | of indirection in do_func for monadic | functions. Dyadic functions require two | levels, and the tables are still contained | in do_func. The table is arranged for | index with a 10-bit index, with the first | 7 bits the opcode, and the remaining 3 | the stag. For dyadic functions, all | valid addresses are to the generic entry | point. | | Copyright (C) Motorola, Inc. 1990 | All Rights Reserved | | For details on the license for this file, please see the | file, README, in this same directory. |TBLDO idnt 2,1 | Motorola 040 Floating Point Software Package |section 8 |xref ld_pinf,ld_pone,ld_ppi2 |xref t_dz2,t_operr |xref serror,sone,szero,sinf,snzrinx |xref sopr_inf,spi_2,src_nan,szr_inf |xref smovcr |xref pmod,prem,pscale |xref satanh,satanhd |xref sacos,sacosd,sasin,sasind,satan,satand |xref setox,setoxd,setoxm1,setoxm1d,setoxm1i |xref sgetexp,sgetexpd,sgetman,sgetmand |xref sint,sintd,sintrz |xref ssincos,ssincosd,ssincosi,ssincosnan,ssincosz |xref scos,scosd,ssin,ssind,stan,stand |xref scosh,scoshd,ssinh,ssinhd,stanh,stanhd |xref sslog10,sslog2,sslogn,sslognp1 |xref sslog10d,sslog2d,sslognd,slognp1d |xref stentox,stentoxd,stwotox,stwotoxd | instruction ;opcode-stag Notes .global tblpre tblpre: .long smovcr |$00-0 fmovecr all .long smovcr |$00-1 fmovecr all .long smovcr |$00-2 fmovecr all .long smovcr |$00-3 fmovecr all .long smovcr |$00-4 fmovecr all .long smovcr |$00-5 fmovecr all .long smovcr |$00-6 fmovecr all .long smovcr |$00-7 fmovecr all .long sint |$01-0 fint norm .long szero |$01-1 fint zero .long sinf |$01-2 fint inf .long src_nan |$01-3 fint nan .long sintd |$01-4 fint denorm inx .long serror |$01-5 fint ERROR .long serror |$01-6 fint ERROR .long serror |$01-7 fint ERROR .long ssinh |$02-0 fsinh norm .long szero |$02-1 fsinh zero .long sinf |$02-2 fsinh inf .long src_nan |$02-3 fsinh nan .long ssinhd |$02-4 fsinh denorm .long serror |$02-5 fsinh ERROR .long serror |$02-6 fsinh ERROR .long serror |$02-7 fsinh ERROR .long sintrz |$03-0 fintrz norm .long szero |$03-1 fintrz zero .long sinf |$03-2 fintrz inf .long src_nan |$03-3 fintrz nan .long snzrinx |$03-4 fintrz denorm inx .long serror |$03-5 fintrz ERROR .long serror |$03-6 fintrz ERROR .long serror |$03-7 fintrz ERROR .long serror |$04-0 ERROR - illegal extension .long serror |$04-1 ERROR - illegal extension .long serror |$04-2 ERROR - illegal extension .long serror |$04-3 ERROR - illegal extension .long serror |$04-4 ERROR - illegal extension .long serror |$04-5 ERROR - illegal extension .long serror |$04-6 ERROR - illegal extension .long serror |$04-7 ERROR - illegal extension .long serror |$05-0 ERROR - illegal extension .long serror |$05-1 ERROR - illegal extension .long serror |$05-2 ERROR - illegal extension .long serror |$05-3 ERROR - illegal extension .long serror |$05-4 ERROR - illegal extension .long serror |$05-5 ERROR - illegal extension .long serror |$05-6 ERROR - illegal extension .long serror |$05-7 ERROR - illegal extension .long sslognp1 |$06-0 flognp1 norm .long szero |$06-1 flognp1 zero .long sopr_inf |$06-2 flognp1 inf .long src_nan |$06-3 flognp1 nan .long slognp1d |$06-4 flognp1 denorm .long serror |$06-5 flognp1 ERROR .long serror |$06-6 flognp1 ERROR .long serror |$06-7 flognp1 ERROR .long serror |$07-0 ERROR - illegal extension .long serror |$07-1 ERROR - illegal extension .long serror |$07-2 ERROR - illegal extension .long serror |$07-3 ERROR - illegal extension .long serror |$07-4 ERROR - illegal extension .long serror |$07-5 ERROR - illegal extension .long serror |$07-6 ERROR - illegal extension .long serror |$07-7 ERROR - illegal extension .long setoxm1 |$08-0 fetoxm1 norm .long szero |$08-1 fetoxm1 zero .long setoxm1i |$08-2 fetoxm1 inf .long src_nan |$08-3 fetoxm1 nan .long setoxm1d |$08-4 fetoxm1 denorm .long serror |$08-5 fetoxm1 ERROR .long serror |$08-6 fetoxm1 ERROR .long serror |$08-7 fetoxm1 ERROR .long stanh |$09-0 ftanh norm .long szero |$09-1 ftanh zero .long sone |$09-2 ftanh inf .long src_nan |$09-3 ftanh nan .long stanhd |$09-4 ftanh denorm .long serror |$09-5 ftanh ERROR .long serror |$09-6 ftanh ERROR .long serror |$09-7 ftanh ERROR .long satan |$0a-0 fatan norm .long szero |$0a-1 fatan zero .long spi_2 |$0a-2 fatan inf .long src_nan |$0a-3 fatan nan .long satand |$0a-4 fatan denorm .long serror |$0a-5 fatan ERROR .long serror |$0a-6 fatan ERROR .long serror |$0a-7 fatan ERROR .long serror |$0b-0 ERROR - illegal extension .long serror |$0b-1 ERROR - illegal extension .long serror |$0b-2 ERROR - illegal extension .long serror |$0b-3 ERROR - illegal extension .long serror |$0b-4 ERROR - illegal extension .long serror |$0b-5 ERROR - illegal extension .long serror |$0b-6 ERROR - illegal extension .long serror |$0b-7 ERROR - illegal extension .long sasin |$0c-0 fasin norm .long szero |$0c-1 fasin zero .long t_operr |$0c-2 fasin inf .long src_nan |$0c-3 fasin nan .long sasind |$0c-4 fasin denorm .long serror |$0c-5 fasin ERROR .long serror |$0c-6 fasin ERROR .long serror |$0c-7 fasin ERROR .long satanh |$0d-0 fatanh norm .long szero |$0d-1 fatanh zero .long t_operr |$0d-2 fatanh inf .long src_nan |$0d-3 fatanh nan .long satanhd |$0d-4 fatanh denorm .long serror |$0d-5 fatanh ERROR .long serror |$0d-6 fatanh ERROR .long serror |$0d-7 fatanh ERROR .long ssin |$0e-0 fsin norm .long szero |$0e-1 fsin zero .long t_operr |$0e-2 fsin inf .long src_nan |$0e-3 fsin nan .long ssind |$0e-4 fsin denorm .long serror |$0e-5 fsin ERROR .long serror |$0e-6 fsin ERROR .long serror |$0e-7 fsin ERROR .long stan |$0f-0 ftan norm .long szero |$0f-1 ftan zero .long t_operr |$0f-2 ftan inf .long src_nan |$0f-3 ftan nan .long stand |$0f-4 ftan denorm .long serror |$0f-5 ftan ERROR .long serror |$0f-6 ftan ERROR .long serror |$0f-7 ftan ERROR .long setox |$10-0 fetox norm .long ld_pone |$10-1 fetox zero .long szr_inf |$10-2 fetox inf .long src_nan |$10-3 fetox nan .long setoxd |$10-4 fetox denorm .long serror |$10-5 fetox ERROR .long serror |$10-6 fetox ERROR .long serror |$10-7 fetox ERROR .long stwotox |$11-0 ftwotox norm .long ld_pone |$11-1 ftwotox zero .long szr_inf |$11-2 ftwotox inf .long src_nan |$11-3 ftwotox nan .long stwotoxd |$11-4 ftwotox denorm .long serror |$11-5 ftwotox ERROR .long serror |$11-6 ftwotox ERROR .long serror |$11-7 ftwotox ERROR .long stentox |$12-0 ftentox norm .long ld_pone |$12-1 ftentox zero .long szr_inf |$12-2 ftentox inf .long src_nan |$12-3 ftentox nan .long stentoxd |$12-4 ftentox denorm .long serror |$12-5 ftentox ERROR .long serror |$12-6 ftentox ERROR .long serror |$12-7 ftentox ERROR .long serror |$13-0 ERROR - illegal extension .long serror |$13-1 ERROR - illegal extension .long serror |$13-2 ERROR - illegal extension .long serror |$13-3 ERROR - illegal extension .long serror |$13-4 ERROR - illegal extension .long serror |$13-5 ERROR - illegal extension .long serror |$13-6 ERROR - illegal extension .long serror |$13-7 ERROR - illegal extension .long sslogn |$14-0 flogn norm .long t_dz2 |$14-1 flogn zero .long sopr_inf |$14-2 flogn inf .long src_nan |$14-3 flogn nan .long sslognd |$14-4 flogn denorm .long serror |$14-5 flogn ERROR .long serror |$14-6 flogn ERROR .long serror |$14-7 flogn ERROR .long sslog10 |$15-0 flog10 norm .long t_dz2 |$15-1 flog10 zero .long sopr_inf |$15-2 flog10 inf .long src_nan |$15-3 flog10 nan .long sslog10d |$15-4 flog10 denorm .long serror |$15-5 flog10 ERROR .long serror |$15-6 flog10 ERROR .long serror |$15-7 flog10 ERROR .long sslog2 |$16-0 flog2 norm .long t_dz2 |$16-1 flog2 zero .long sopr_inf |$16-2 flog2 inf .long src_nan |$16-3 flog2 nan .long sslog2d |$16-4 flog2 denorm .long serror |$16-5 flog2 ERROR .long serror |$16-6 flog2 ERROR .long serror |$16-7 flog2 ERROR .long serror |$17-0 ERROR - illegal extension .long serror |$17-1 ERROR - illegal extension .long serror |$17-2 ERROR - illegal extension .long serror |$17-3 ERROR - illegal extension .long serror |$17-4 ERROR - illegal extension .long serror |$17-5 ERROR - illegal extension .long serror |$17-6 ERROR - illegal extension .long serror |$17-7 ERROR - illegal extension .long serror |$18-0 ERROR - illegal extension .long serror |$18-1 ERROR - illegal extension .long serror |$18-2 ERROR - illegal extension .long serror |$18-3 ERROR - illegal extension .long serror |$18-4 ERROR - illegal extension .long serror |$18-5 ERROR - illegal extension .long serror |$18-6 ERROR - illegal extension .long serror |$18-7 ERROR - illegal extension .long scosh |$19-0 fcosh norm .long ld_pone |$19-1 fcosh zero .long ld_pinf |$19-2 fcosh inf .long src_nan |$19-3 fcosh nan .long scoshd |$19-4 fcosh denorm .long serror |$19-5 fcosh ERROR .long serror |$19-6 fcosh ERROR .long serror |$19-7 fcosh ERROR .long serror |$1a-0 ERROR - illegal extension .long serror |$1a-1 ERROR - illegal extension .long serror |$1a-2 ERROR - illegal extension .long serror |$1a-3 ERROR - illegal extension .long serror |$1a-4 ERROR - illegal extension .long serror |$1a-5 ERROR - illegal extension .long serror |$1a-6 ERROR - illegal extension .long serror |$1a-7 ERROR - illegal extension .long serror |$1b-0 ERROR - illegal extension .long serror |$1b-1 ERROR - illegal extension .long serror |$1b-2 ERROR - illegal extension .long serror |$1b-3 ERROR - illegal extension .long serror |$1b-4 ERROR - illegal extension .long serror |$1b-5 ERROR - illegal extension .long serror |$1b-6 ERROR - illegal extension .long serror |$1b-7 ERROR - illegal extension .long sacos |$1c-0 facos norm .long ld_ppi2 |$1c-1 facos zero .long t_operr |$1c-2 facos inf .long src_nan |$1c-3 facos nan .long sacosd |$1c-4 facos denorm .long serror |$1c-5 facos ERROR .long serror |$1c-6 facos ERROR .long serror |$1c-7 facos ERROR .long scos |$1d-0 fcos norm .long ld_pone |$1d-1 fcos zero .long t_operr |$1d-2 fcos inf .long src_nan |$1d-3 fcos nan .long scosd |$1d-4 fcos denorm .long serror |$1d-5 fcos ERROR .long serror |$1d-6 fcos ERROR .long serror |$1d-7 fcos ERROR .long sgetexp |$1e-0 fgetexp norm .long szero |$1e-1 fgetexp zero .long t_operr |$1e-2 fgetexp inf .long src_nan |$1e-3 fgetexp nan .long sgetexpd |$1e-4 fgetexp denorm .long serror |$1e-5 fgetexp ERROR .long serror |$1e-6 fgetexp ERROR .long serror |$1e-7 fgetexp ERROR .long sgetman |$1f-0 fgetman norm .long szero |$1f-1 fgetman zero .long t_operr |$1f-2 fgetman inf .long src_nan |$1f-3 fgetman nan .long sgetmand |$1f-4 fgetman denorm .long serror |$1f-5 fgetman ERROR .long serror |$1f-6 fgetman ERROR .long serror |$1f-7 fgetman ERROR .long serror |$20-0 ERROR - illegal extension .long serror |$20-1 ERROR - illegal extension .long serror |$20-2 ERROR - illegal extension .long serror |$20-3 ERROR - illegal extension .long serror |$20-4 ERROR - illegal extension .long serror |$20-5 ERROR - illegal extension .long serror |$20-6 ERROR - illegal extension .long serror |$20-7 ERROR - illegal extension .long pmod |$21-0 fmod all .long pmod |$21-1 fmod all .long pmod |$21-2 fmod all .long pmod |$21-3 fmod all .long pmod |$21-4 fmod all .long serror |$21-5 fmod ERROR .long serror |$21-6 fmod ERROR .long serror |$21-7 fmod ERROR .long serror |$22-0 ERROR - illegal extension .long serror |$22-1 ERROR - illegal extension .long serror |$22-2 ERROR - illegal extension .long serror |$22-3 ERROR - illegal extension .long serror |$22-4 ERROR - illegal extension .long serror |$22-5 ERROR - illegal extension .long serror |$22-6 ERROR - illegal extension .long serror |$22-7 ERROR - illegal extension .long serror |$23-0 ERROR - illegal extension .long serror |$23-1 ERROR - illegal extension .long serror |$23-2 ERROR - illegal extension .long serror |$23-3 ERROR - illegal extension .long serror |$23-4 ERROR - illegal extension .long serror |$23-5 ERROR - illegal extension .long serror |$23-6 ERROR - illegal extension .long serror |$23-7 ERROR - illegal extension .long serror |$24-0 ERROR - illegal extension .long serror |$24-1 ERROR - illegal extension .long serror |$24-2 ERROR - illegal extension .long serror |$24-3 ERROR - illegal extension .long serror |$24-4 ERROR - illegal extension .long serror |$24-5 ERROR - illegal extension .long serror |$24-6 ERROR - illegal extension .long serror |$24-7 ERROR - illegal extension .long prem |$25-0 frem all .long prem |$25-1 frem all .long prem |$25-2 frem all .long prem |$25-3 frem all .long prem |$25-4 frem all .long serror |$25-5 frem ERROR .long serror |$25-6 frem ERROR .long serror |$25-7 frem ERROR .long pscale |$26-0 fscale all .long pscale |$26-1 fscale all .long pscale |$26-2 fscale all .long pscale |$26-3 fscale all .long pscale |$26-4 fscale all .long serror |$26-5 fscale ERROR .long serror |$26-6 fscale ERROR .long serror |$26-7 fscale ERROR .long serror |$27-0 ERROR - illegal extension .long serror |$27-1 ERROR - illegal extension .long serror |$27-2 ERROR - illegal extension .long serror |$27-3 ERROR - illegal extens<style>.highlight .hll { background-color: #ffffcc } .highlight .c { color: #888888 } /* Comment */ .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ .highlight .k { color: #008800; font-weight: bold } /* Keyword */ .highlight .ch { color: #888888 } /* Comment.Hashbang */ .highlight .cm { color: #888888 } /* Comment.Multiline */ .highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */ .highlight .cpf { color: #888888 } /* Comment.PreprocFile */ .highlight .c1 { color: #888888 } /* Comment.Single */ .highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */ .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .gr { color: #aa0000 } /* Generic.Error */ .highlight .gh { color: #333333 } /* Generic.Heading */ .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ .highlight .go { color: #888888 } /* Generic.Output */ .highlight .gp { color: #555555 } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #666666 } /* Generic.Subheading */ .highlight .gt { color: #aa0000 } /* Generic.Traceback */ .highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */</style><div class="highlight"><pre><span></span><span class="ch">#!/usr/bin/env python</span> <span class="c1">##############################################################################</span> <span class="c1"># Copyright (c) 2016 Huawei Technologies Co.,Ltd and others.</span> <span class="c1">#</span> <span class="c1"># All rights reserved. This program and the accompanying materials</span> <span class="c1"># are made available under the terms of the Apache License, Version 2.0</span> <span class="c1"># which accompanies this distribution, and is available at</span> <span class="c1"># http://www.apache.org/licenses/LICENSE-2.0</span> <span class="c1">##############################################################################</span> <span class="kn">import</span> <span class="nn">os</span> <span class="kn">impo