 PAGE   1 [3.3a] 6/28/89 17:46:28  ASSEMBLY OF BOOTROM2.TEXT

PASS 1 COMPLETE. ERRORS: 0
    1                       *  sccs info:  @(#)  bootrom2  8.1  84/05/04  00:19:42  *
    2                       
    3                       *
    4                       *  BOOTROM2
    5                       *
    6                       *  8/14/81        - Andy Goris
    7                       *
    8                       *  This is the second half of the 9826A/B boot ROM.
    9                       *
   10    00002000                    RORG       $2000
   11                                SPRINT
   12                       *
   13                       * CRT CHARACTER SET
   14                       *
   15    00002000 00          dc.b  0,72,104,88,72,0,18,18
   16    00002008 12          dc.b  18,30,0,0,0,0,0,0
   17    00002010 00          dc.b  0,56,64,48,8,112,0,18
   18    00002018 1E          dc.b  30,18,0,0,0,0,0,0
   19    00002020 00          dc.b  0,56,64,48,8,112,0,10
   20    00002028 04          dc.b  4,10,0,0,0,0,0,0
   21    00002030 00          dc.b  0,112,64,96,64,112,0,10
   22    00002038 04          dc.b  4,10,0,0,0,0,0,0
   23    00002040 00          dc.b  0,112,64,96,64,112,14,4
   24    00002048 04          dc.b  4,4,0,0,0,0,0,0
   25    00002050 00          dc.b  0,112,64,96,64,112,12,18
   26    00002058 16          dc.b  22,14,0,0,0,0,0,0
   27    00002060 00          dc.b  0,48,72,120,72,72,16,20
   28    00002068 18          dc.b  24,20,0,0,0,0,0,0
   29    00002070 00          dc.b  0,8,28,34,34,34,34,127
   30    00002078 08          dc.b  8,8,0,0,0,0,0,0
   31    00002080 00          dc.b  0,112,72,112,72,115,4,2
   32    00002088 01          dc.b  1,6,0,0,0,0,0,0
   33    00002090 00          dc.b  0,72,72,120,72,72,7,2
   34    00002098 02          dc.b  2,2,0,0,0,0,0,0
   35    000020A0 00          dc.b  0,64,64,64,64,119,4,6
   36    000020A8 04          dc.b  4,4,0,0,0,0,0,0
   37    000020B0 00          dc.b  0,68,68,40,16,0,14,4
   38    000020B8 04          dc.b  4,4,0,0,0,0,0,0
   39    000020C0 00          dc.b  0,120,64,112,64,79,8,14
   40    000020C8 08          dc.b  8,8,0,0,0,0,0,0
   41    000020D0 00          dc.b  0,56,64,64,56,14,9,14
   42    000020D8 0A          dc.b  10,9,0,0,0,0,0,0
   43    000020E0 00          dc.b  0,56,64,48,8,118,9,9
   44    000020E8 09          dc.b  9,6,0,0,0,0,0,0
   45    000020F0 00          dc.b  0,56,64,48,8,119,2,2
   46    000020F8 02          dc.b  2,7,0,0,0,0,0,0
   47    00002100 00          dc.b  0,112,72,72,72,112,4,4
   48    00002108 04          dc.b  4,7,0,0,0,0,0,0
   49    00002110 00          dc.b  0,112,72,72,72,114,6,2
   50    00002118 02          dc.b  2,7,0,0,0,0,0,0
   51    00002120 00          dc.b  0,112,72,72,72,118,1,2
   52    00002128 04          dc.b  4,7,0,0,0,0,0,0
   53    00002130 00          dc.b  0,112,72,72,72,119,1,3
   54    00002138 01          dc.b  1,7,0,0,0,0,0,0
   55    00002140 00          dc.b  0,112,72,72,72,114,6,15
   56    00002148 02          dc.b  2,2,0,0,0,0,0,0
   57    00002150 00          dc.b  0,72,104,88,72,4,5,6
   58    00002158 06          dc.b  6,5,0,0,0,0,0,0

 PAGE   2 [3.3a] 6/28/89 17:46:28  ASSEMBLY OF BOOTROM2.TEXT

   59    00002160 00          dc.b  0,56,64,48,8,112,5,2
   60    00002168 02          dc.b  2,2,0,0,0,0,0,0
   61    00002170 00          dc.b  0,112,64,96,64,118,5,6
   62    00002178 05          dc.b  5,6,0,0,0,0,0,0
   63    00002180 00          dc.b  0,56,64,64,56,0,9,13
   64    00002188 0B          dc.b  11,9,0,0,0,0,0,0
   65    00002190 00          dc.b  0,120,64,96,64,120,17,27
   66    00002198 15          dc.b  21,17,0,0,0,0,0,0
   67    000021A0 00          dc.b  0,56,64,48,8,118,5,6
   68    000021A8 05          dc.b  5,6,0,0,0,0,0,0
   69    000021B0 00          dc.b  0,120,64,112,64,120,3,4
   70    000021B8 04          dc.b  4,3,0,0,0,0,0,0
   71    000021C0 00          dc.b  0,120,64,112,64,71,8,6
   72    000021C8 01          dc.b  1,14,0,0,0,0,0,0
   73    000021D0 00          dc.b  0,56,64,88,72,63,8,6
   74    000021D8 01          dc.b  1,14,0,0,0,0,0,0
   75    000021E0 00          dc.b  0,112,72,112,80,87,8,6
   76    000021E8 01          dc.b  1,14,0,0,0,0,0,0
   77    000021F0 00          dc.b  0,72,72,72,120,7,8,6
   78    000021F8 01          dc.b  1,14,0,0,0,0,0,0
   79    00002200 00          dc.b  0,0,0,0,0,0,0,0
   80    00002208 00          dc.b  0,0,0,0,0,0,0,0
   81    00002210 00          dc.b  0,16,16,16,16,16,0,16
   82    00002218 00          dc.b  0,0,0,0,0,0,0,0
   83    00002220 00          dc.b  0,40,40,40,0,0,0,0
   84    00002228 00          dc.b  0,0,0,0,0,0,0,0
   85    00002230 00          dc.b  0,40,40,124,40,124,40,40
   86    00002238 00          dc.b  0,0,0,0,0,0,0,0
   87    00002240 00          dc.b  0,16,60,80,56,20,120,16
   88    00002248 00          dc.b  0,0,0,0,0,0,0,0
   89    00002250 00          dc.b  0,96,100,8,16,32,76,12
   90    00002258 00          dc.b  0,0,0,0,0,0,0,0
   91    00002260 00          dc.b  0,32,80,80,32,84,72,52
   92    00002268 00          dc.b  0,0,0,0,0,0,0,0
   93    00002270 00          dc.b  0,8,16,32,0,0,0,0
   94    00002278 00          dc.b  0,0,0,0,0,0,0,0
   95    00002280 00          dc.b  0,8,16,16,16,16,16,8
   96    00002288 00          dc.b  0,0,0,0,0,0,0,0
   97    00002290 00          dc.b  0,16,8,8,8,8,8,16
   98    00002298 00          dc.b  0,0,0,0,0,0,0,0
   99    000022A0 00          dc.b  0,0,40,16,124,16,40,0
  100    000022A8 00          dc.b  0,0,0,0,0,0,0,0
  101    000022B0 00          dc.b  0,0,16,16,124,16,16,0
  102    000022B8 00          dc.b  0,0,0,0,0,0,0,0
  103    000022C0 00          dc.b  0,0,0,0,0,0,24,24
  104    000022C8 08          dc.b  8,16,0,0,0,0,0,0
  105    000022D0 00          dc.b  0,0,0,0,124,0,0,0
  106    000022D8 00          dc.b  0,0,0,0,0,0,0,0
  107    000022E0 00          dc.b  0,0,0,0,0,0,24,24
  108    000022E8 00          dc.b  0,0,0,0,0,0,0,0
  109    000022F0 00          dc.b  0,0,4,8,16,32,64,0
  110    000022F8 00          dc.b  0,0,0,0,0,0,0,0
  111    00002300 00          dc.b  0,56,68,76,84,100,68,56
  112    00002308 00          dc.b  0,0,0,0,0,0,0,0
  113    00002310 00          dc.b  0,16,48,16,16,16,16,56
  114    00002318 00          dc.b  0,0,0,0,0,0,0,0
  115    00002320 00          dc.b  0,56,68,4,8,48,64,124

 PAGE   3 [3.3a] 6/28/89 17:46:28  ASSEMBLY OF BOOTROM2.TEXT

  116    00002328 00          dc.b  0,0,0,0,0,0,0,0
  117    00002330 00          dc.b  0,56,68,4,24,4,68,56
  118    00002338 00          dc.b  0,0,0,0,0,0,0,0
  119    00002340 00          dc.b  0,8,24,40,72,124,8,8
  120    00002348 00          dc.b  0,0,0,0,0,0,0,0
  121    00002350 00          dc.b  0,124,64,120,4,4,68,56
  122    00002358 00          dc.b  0,0,0,0,0,0,0,0
  123    00002360 00          dc.b  0,28,32,64,120,68,68,56
  124    00002368 00          dc.b  0,0,0,0,0,0,0,0
  125    00002370 00          dc.b  0,124,4,8,16,32,32,32
  126    00002378 00          dc.b  0,0,0,0,0,0,0,0
  127    00002380 00          dc.b  0,56,68,68,56,68,68,56
  128    00002388 00          dc.b  0,0,0,0,0,0,0,0
  129    00002390 00          dc.b  0,56,68,68,60,4,8,48
  130    00002398 00          dc.b  0,0,0,0,0,0,0,0
  131    000023A0 00          dc.b  0,0,24,24,0,0,24,24
  132    000023A8 00          dc.b  0,0,0,0,0,0,0,0
  133    000023B0 00          dc.b  0,0,24,24,0,0,24,24
  134    000023B8 08          dc.b  8,16,0,0,0,0,0,0
  135    000023C0 00          dc.b  0,8,16,32,64,32,16,8
  136    000023C8 00          dc.b  0,0,0,0,0,0,0,0
  137    000023D0 00          dc.b  0,0,0,124,0,124,0,0
  138    000023D8 00          dc.b  0,0,0,0,0,0,0,0
  139    000023E0 00          dc.b  0,32,16,8,4,8,16,32
  140    000023E8 00          dc.b  0,0,0,0,0,0,0,0
  141    000023F0 00          dc.b  0,56,68,4,8,16,0,16
  142    000023F8 00          dc.b  0,0,0,0,0,0,0,0
  143    00002400 00          dc.b  0,56,68,92,84,92,64,56
  144    00002408 00          dc.b  0,0,0,0,0,0,0,0
  145    00002410 00          dc.b  0,56,68,68,124,68,68,68
  146    00002418 00          dc.b  0,0,0,0,0,0,0,0
  147    00002420 00          dc.b  0,120,36,36,56,36,36,120
  148    00002428 00          dc.b  0,0,0,0,0,0,0,0
  149    00002430 00          dc.b  0,56,68,64,64,64,68,56
  150    00002438 00          dc.b  0,0,0,0,0,0,0,0
  151    00002440 00          dc.b  0,120,36,36,36,36,36,120
  152    00002448 00          dc.b  0,0,0,0,0,0,0,0
  153    00002450 00          dc.b  0,124,64,64,120,64,64,124
  154    00002458 00          dc.b  0,0,0,0,0,0,0,0
  155    00002460 00          dc.b  0,124,64,64,120,64,64,64
  156    00002468 00          dc.b  0,0,0,0,0,0,0,0
  157    00002470 00          dc.b  0,56,68,64,64,76,68,56
  158    00002478 00          dc.b  0,0,0,0,0,0,0,0
  159    00002480 00          dc.b  0,68,68,68,124,68,68,68
  160    00002488 00          dc.b  0,0,0,0,0,0,0,0
  161    00002490 00          dc.b  0,56,16,16,16,16,16,56
  162    00002498 00          dc.b  0,0,0,0,0,0,0,0
  163    000024A0 00          dc.b  0,28,8,8,8,8,72,48
  164    000024A8 00          dc.b  0,0,0,0,0,0,0,0
  165    000024B0 00          dc.b  0,68,72,80,96,80,72,68
  166    000024B8 00          dc.b  0,0,0,0,0,0,0,0
  167    000024C0 00          dc.b  0,64,64,64,64,64,64,124
  168    000024C8 00          dc.b  0,0,0,0,0,0,0,0
  169    000024D0 00          dc.b  0,68,108,84,84,68,68,68
  170    000024D8 00          dc.b  0,0,0,0,0,0,0,0
  171    000024E0 00          dc.b  0,68,68,100,84,76,68,68
  172    000024E8 00          dc.b  0,0,0,0,0,0,0,0

 PAGE   4 [3.3a] 6/28/89 17:46:28  ASSEMBLY OF BOOTROM2.TEXT

  173    000024F0 00          dc.b  0,56,68,68,68,68,68,56
  174    000024F8 00          dc.b  0,0,0,0,0,0,0,0
  175    00002500 00          dc.b  0,120,68,68,120,64,64,64
  176    00002508 00          dc.b  0,0,0,0,0,0,0,0
  177    00002510 00          dc.b  0,56,68,68,68,84,72,52
  178    00002518 00          dc.b  0,0,0,0,0,0,0,0
  179    00002520 00          dc.b  0,120,68,68,120,80,72,68
  180    00002528 00          dc.b  0,0,0,0,0,0,0,0
  181    00002530 00          dc.b  0,56,68,64,56,4,68,56
  182    00002538 00          dc.b  0,0,0,0,0,0,0,0
  183    00002540 00          dc.b  0,124,16,16,16,16,16,16
  184    00002548 00          dc.b  0,0,0,0,0,0,0,0
  185    00002550 00          dc.b  0,68,68,68,68,68,68,56
  186    00002558 00          dc.b  0,0,0,0,0,0,0,0
  187    00002560 00          dc.b  0,68,68,68,40,40,16,16
  188    00002568 00          dc.b  0,0,0,0,0,0,0,0
  189    00002570 00          dc.b  0,68,68,68,84,84,108,68
  190    00002578 00          dc.b  0,0,0,0,0,0,0,0
  191    00002580 00          dc.b  0,68,68,40,16,40,68,68
  192    00002588 00          dc.b  0,0,0,0,0,0,0,0
  193    00002590 00          dc.b  0,68,68,40,16,16,16,16
  194    00002598 00          dc.b  0,0,0,0,0,0,0,0
  195    000025A0 00          dc.b  0,124,4,8,16,32,64,124
  196    000025A8 00          dc.b  0,0,0,0,0,0,0,0
  197    000025B0 00          dc.b  0,56,32,32,32,32,32,56
  198    000025B8 00          dc.b  0,0,0,0,0,0,0,0
  199    000025C0 00          dc.b  0,0,64,32,16,8,4,0
  200    000025C8 00          dc.b  0,0,0,0,0,0,0,0
  201    000025D0 00          dc.b  0,56,8,8,8,8,8,56
  202    000025D8 00          dc.b  0,0,0,0,0,0,0,0
  203    000025E0 00          dc.b  0,16,40,68,0,0,0,0
  204    000025E8 00          dc.b  0,0,0,0,0,0,0,0
  205    000025F0 00          dc.b  0,0,0,0,0,0,0,0
  206    000025F8 00          dc.b  0,255,0,0,0,0,0,0
  207    00002600 00          dc.b  0,32,16,8,0,0,0,0
  208    00002608 00          dc.b  0,0,0,0,0,0,0,0
  209    00002610 00          dc.b  0,0,0,56,4,60,68,62
  210    00002618 00          dc.b  0,0,0,0,0,0,0,0
  211    00002620 00          dc.b  0,64,64,120,68,68,68,120
  212    00002628 00          dc.b  0,0,0,0,0,0,0,0
  213    00002630 00          dc.b  0,0,0,56,64,64,64,56
  214    00002638 00          dc.b  0,0,0,0,0,0,0,0
  215    00002640 00          dc.b  0,4,4,60,68,68,68,60
  216    00002648 00          dc.b  0,0,0,0,0,0,0,0
  217    00002650 00          dc.b  0,0,0,56,68,120,64,56
  218    00002658 00          dc.b  0,0,0,0,0,0,0,0
  219    00002660 00          dc.b  0,24,36,32,112,32,32,32
  220    00002668 00          dc.b  0,0,0,0,0,0,0,0
  221    00002670 00          dc.b  0,0,0,60,68,68,68,60
  222    00002678 04          dc.b  4,68,56,0,0,0,0,0
  223    00002680 00          dc.b  0,64,64,88,100,68,68,68
  224    00002688 00          dc.b  0,0,0,0,0,0,0,0
  225    00002690 00          dc.b  0,16,0,48,16,16,16,16
  226    00002698 00          dc.b  0,0,0,0,0,0,0,0
  227    000026A0 00          dc.b  0,8,0,24,8,8,8,8
  228    000026A8 48          dc.b  72,48,0,0,0,0,0,0
  229    000026B0 00          dc.b  0,32,32,36,40,48,40,36

 PAGE   5 [3.3a] 6/28/89 17:46:28  ASSEMBLY OF BOOTROM2.TEXT

  230    000026B8 00          dc.b  0,0,0,0,0,0,0,0
  231    000026C0 00          dc.b  0,24,8,8,8,8,8,8
  232    000026C8 00          dc.b  0,0,0,0,0,0,0,0
  233    000026D0 00          dc.b  0,0,0,104,84,84,84,84
  234    000026D8 00          dc.b  0,0,0,0,0,0,0,0
  235    000026E0 00          dc.b  0,0,0,88,100,68,68,68
  236    000026E8 00          dc.b  0,0,0,0,0,0,0,0
  237    000026F0 00          dc.b  0,0,0,56,68,68,68,56
  238    000026F8 00          dc.b  0,0,0,0,0,0,0,0
  239    00002700 00          dc.b  0,0,0,88,100,68,100,88
  240    00002708 40          dc.b  64,64,64,0,0,0,0,0
  241    00002710 00          dc.b  0,0,0,52,76,68,76,52
  242    00002718 04          dc.b  4,4,4,0,0,0,0,0
  243    00002720 00          dc.b  0,0,0,88,100,64,64,64
  244    00002728 00          dc.b  0,0,0,0,0,0,0,0
  245    00002730 00          dc.b  0,0,0,56,64,56,4,120
  246    00002738 00          dc.b  0,0,0,0,0,0,0,0
  247    00002740 00          dc.b  0,32,32,112,32,32,40,16
  248    00002748 00          dc.b  0,0,0,0,0,0,0,0
  249    00002750 00          dc.b  0,0,0,68,68,68,76,52
  250    00002758 00          dc.b  0,0,0,0,0,0,0,0
  251    00002760 00          dc.b  0,0,0,68,68,68,40,16
  252    00002768 00          dc.b  0,0,0,0,0,0,0,0
  253    00002770 00          dc.b  0,0,0,68,84,84,84,40
  254    00002778 00          dc.b  0,0,0,0,0,0,0,0
  255    00002780 00          dc.b  0,0,0,68,40,16,40,68
  256    00002788 00          dc.b  0,0,0,0,0,0,0,0
  257    00002790 00          dc.b  0,0,0,68,68,68,40,24
  258    00002798 10          dc.b  16,32,64,0,0,0,0,0
  259    000027A0 00          dc.b  0,0,0,124,8,16,32,124
  260    000027A8 00          dc.b  0,0,0,0,0,0,0,0
  261    000027B0 08          dc.b  8,16,16,16,32,16,16,16
  262    000027B8 08          dc.b  8,0,0,0,0,0,0,0
  263    000027C0 10          dc.b  16,16,16,16,16,16,16,16
  264    000027C8 10          dc.b  16,16,16,16,0,0,0,0
  265    000027D0 20          dc.b  32,16,16,16,8,16,16,16
  266    000027D8 20          dc.b  32,0,0,0,0,0,0,0
  267    000027E0 00          dc.b  0,0,0,0,32,84,8,0
  268    000027E8 00          dc.b  0,0,0,0,0,0,0,0
  269    000027F0 00          dc.b  0,40,84,40,84,40,84,40
  270    000027F8 00          dc.b  0,0,0,0,0,0,0,0
  271    00002800 00          dc.b  0,68,40,124,16,124,16,16
  272    00002808 00          dc.b  0,0,0,0,0,0,0,0
  273    00002810 00          dc.b  0,0,0,0,48,72,72,48
  274    00002818 00          dc.b  0,0,0,0,0,0,0,0
  275    00002820 00          dc.b  0,28,16,16,16,0,0,0
  276    00002828 00          dc.b  0,0,0,0,0,0,0,0
  277    00002830 00          dc.b  0,0,0,0,16,16,16,112
  278    00002838 00          dc.b  0,0,0,0,0,0,0,0
  279    00002840 00          dc.b  0,0,0,0,0,64,32,16
  280    00002848 00          dc.b  0,0,0,0,0,0,0,0
  281    00002850 00          dc.b  0,0,0,0,48,48,0,0
  282    00002858 00          dc.b  0,0,0,0,0,0,0,0
  283    00002860 00          dc.b  0,0,124,4,124,4,8,16
  284    00002868 00          dc.b  0,0,0,0,0,0,0,0
  285    00002870 00          dc.b  0,0,0,124,4,24,16,32
  286    00002878 00          dc.b  0,0,0,0,0,0,0,0

 PAGE   6 [3.3a] 6/28/89 17:46:28  ASSEMBLY OF BOOTROM2.TEXT

  287    00002880 00          dc.b  0,0,0,8,16,48,80,16
  288    00002888 00          dc.b  0,0,0,0,0,0,0,0
  289    00002890 00          dc.b  0,0,0,16,124,68,4,24
  290    00002898 00          dc.b  0,0,0,0,0,0,0,0
  291    000028A0 00          dc.b  0,0,0,0,124,16,16,124
  292    000028A8 00          dc.b  0,0,0,0,0,0,0,0
  293    000028B0 00          dc.b  0,0,0,8,124,24,40,72
  294    000028B8 00          dc.b  0,0,0,0,0,0,0,0
  295    000028C0 00          dc.b  0,0,0,32,124,36,40,32
  296    000028C8 00          dc.b  0,0,0,0,0,0,0,0
  297    000028D0 00          dc.b  0,0,0,0,56,8,8,124
  298    000028D8 00          dc.b  0,0,0,0,0,0,0,0
  299    000028E0 00          dc.b  0,0,0,120,8,120,8,120
  300    000028E8 00          dc.b  0,0,0,0,0,0,0,0
  301    000028F0 00          dc.b  0,0,0,0,84,84,4,24
  302    000028F8 00          dc.b  0,0,0,0,0,0,0,0
  303    00002900 00          dc.b  0,0,0,0,124,0,0,0
  304    00002908 00          dc.b  0,0,0,0,0,0,0,0
  305    00002910 00          dc.b  0,124,4,20,24,16,16,32
  306    00002918 00          dc.b  0,0,0,0,0,0,0,0
  307    00002920 00          dc.b  0,4,8,16,48,80,16,16
  308    00002928 00          dc.b  0,0,0,0,0,0,0,0
  309    00002930 00          dc.b  0,16,124,68,68,4,8,16
  310    00002938 00          dc.b  0,0,0,0,0,0,0,0
  311    00002940 00          dc.b  0,0,124,16,16,16,16,124
  312    00002948 00          dc.b  0,0,0,0,0,0,0,0
  313    00002950 00          dc.b  0,8,124,8,24,40,72,8
  314    00002958 00          dc.b  0,0,0,0,0,0,0,0
  315    00002960 00          dc.b  0,32,124,36,36,36,36,72
  316    00002968 00          dc.b  0,0,0,0,0,0,0,0
  317    00002970 00          dc.b  0,16,124,16,124,16,16,16
  318    00002978 00          dc.b  0,0,0,0,0,0,0,0
  319    00002980 00          dc.b  0,0,60,36,68,4,8,48
  320    00002988 00          dc.b  0,0,0,0,0,0,0,0
  321    00002990 00          dc.b  0,32,60,72,8,8,8,16
  322    00002998 00          dc.b  0,0,0,0,0,0,0,0
  323    000029A0 00          dc.b  0,0,124,4,4,4,4,124
  324    000029A8 00          dc.b  0,0,0,0,0,0,0,0
  325    000029B0 00          dc.b  0,40,124,40,40,8,16,32
  326    000029B8 00          dc.b  0,0,0,0,0,0,0,0
  327    000029C0 00          dc.b  0,0,96,4,100,4,8,112
  328    000029C8 00          dc.b  0,0,0,0,0,0,0,0
  329    000029D0 00          dc.b  0,0,124,4,8,16,40,68
  330    000029D8 00          dc.b  0,0,0,0,0,0,0,0
  331    000029E0 00          dc.b  0,32,124,36,40,32,32,28
  332    000029E8 00          dc.b  0,0,0,0,0,0,0,0
  333    000029F0 00          dc.b  0,0,68,68,36,4,8,48
  334    000029F8 00          dc.b  0,0,0,0,0,0,0,0
  335    00002A00 00          dc.b  0,0,60,36,84,12,8,48
  336    00002A08 00          dc.b  0,0,0,0,0,0,0,0
  337    00002A10 00          dc.b  0,8,112,16,124,16,16,32
  338    00002A18 00          dc.b  0,0,0,0,0,0,0,0
  339    00002A20 00          dc.b  0,0,84,84,84,4,8,16
  340    00002A28 00          dc.b  0,0,0,0,0,0,0,0
  341    00002A30 00          dc.b  0,56,0,124,16,16,16,32
  342    00002A38 00          dc.b  0,0,0,0,0,0,0,0
  343    00002A40 00          dc.b  0,32,32,32,48,40,32,32

 PAGE   7 [3.3a] 6/28/89 17:46:28  ASSEMBLY OF BOOTROM2.TEXT

  344    00002A48 00          dc.b  0,0,0,0,0,0,0,0
  345    00002A50 00          dc.b  0,16,16,124,16,16,16,32
  346    00002A58 00          dc.b  0,0,0,0,0,0,0,0
  347    00002A60 00          dc.b  0,0,56,0,0,0,0,124
  348    00002A68 00          dc.b  0,0,0,0,0,0,0,0
  349    00002A70 00          dc.b  0,0,124,4,40,16,40,64
  350    00002A78 00          dc.b  0,0,0,0,0,0,0,0
  351    00002A80 08          dc.b  8,16,0,0,0,0,0,0
  352    00002A88 00          dc.b  0,0,0,0,0,0,0,0
  353    00002A90 20          dc.b  32,16,0,0,0,0,0,0
  354    00002A98 00          dc.b  0,0,0,0,0,0,0,0
  355    00002AA0 10          dc.b  16,40,0,0,0,0,0,0
  356    00002AA8 00          dc.b  0,0,0,0,0,0,0,0
  357    00002AB0 00          dc.b  0,40,0,0,0,0,0,0
  358    00002AB8 00          dc.b  0,0,0,0,0,0,0,0
  359    00002AC0 20          dc.b  32,84,8,0,0,0,0,0
  360    00002AC8 00          dc.b  0,0,0,0,0,0,0,0
  361    00002AD0 00          dc.b  0,16,124,8,16,56,84,16
  362    00002AD8 00          dc.b  0,0,0,0,0,0,0,0
  363    00002AE0 00          dc.b  0,8,8,8,8,8,16,32
  364    00002AE8 00          dc.b  0,0,0,0,0,0,0,0
  365    00002AF0 1C          dc.b  28,34,32,112,32,112,32,34
  366    00002AF8 7C          dc.b  124,0,0,0,0,0,0,0
  367    00002B00 FF          dc.b  255,0,0,0,0,0,0,0
  368    00002B08 00          dc.b  0,0,0,0,0,0,0,0
  369    00002B10 00          dc.b  0,0,16,8,68,68,68,68
  370    00002B18 00          dc.b  0,0,0,0,0,0,0,0
  371    00002B20 00          dc.b  0,64,64,124,64,64,64,60
  372    00002B28 00          dc.b  0,0,0,0,0,0,0,0
  373    00002B30 30          dc.b  48,72,72,48,0,0,0,0
  374    00002B38 00          dc.b  0,0,0,0,0,0,0,0
  375    00002B40 00          dc.b  0,0,124,4,4,4,8,48
  376    00002B48 00          dc.b  0,0,0,0,0,0,0,0
  377    00002B50 00          dc.b  0,0,0,56,64,64,68,56
  378    00002B58 10          dc.b  16,8,48,0,0,0,0,0
  379    00002B60 20          dc.b  32,84,8,68,100,84,76,68
  380    00002B68 00          dc.b  0,0,0,0,0,0,0,0
  381    00002B70 20          dc.b  32,84,8,0,88,100,68,68
  382    00002B78 00          dc.b  0,0,0,0,0,0,0,0
  383    00002B80 00          dc.b  0,16,0,16,16,16,16,16
  384    00002B88 00          dc.b  0,0,0,0,0,0,0,0
  385    00002B90 00          dc.b  0,16,0,16,32,64,68,56
  386    00002B98 00          dc.b  0,0,0,0,0,0,0,0
  387    00002BA0 00          dc.b  0,0,66,60,36,36,60,66
  388    00002BA8 00          dc.b  0,0,0,0,0,0,0,0
  389    00002BB0 1C          dc.b  28,34,32,32,112,32,34,124
  390    00002BB8 00          dc.b  0,0,0,0,0,0,0,0
  391    00002BC0 00          dc.b  0,0,32,80,8,4,4,0
  392    00002BC8 00          dc.b  0,0,0,0,0,0,0,0
  393    00002BD0 18          dc.b  24,36,32,16,56,36,28,8
  394    00002BD8 04          dc.b  4,36,24,0,0,0,0,0
  395    00002BE0 00          dc.b  0,16,124,16,84,84,84,16
  396    00002BE8 00          dc.b  0,0,0,0,0,0,0,0
  397    00002BF0 00          dc.b  0,0,124,4,4,40,16,8
  398    00002BF8 00          dc.b  0,0,0,0,0,0,0,0
  399    00002C00 10          dc.b  16,40,0,56,4,60,68,62
  400    00002C08 00          dc.b  0,0,0,0,0,0,0,0

 PAGE   8 [3.3a] 6/28/89 17:46:28  ASSEMBLY OF BOOTROM2.TEXT

  401    00002C10 10          dc.b  16,40,0,56,68,120,64,56
  402    00002C18 00          dc.b  0,0,0,0,0,0,0,0
  403    00002C20 10          dc.b  16,40,0,56,68,68,68,56
  404    00002C28 00          dc.b  0,0,0,0,0,0,0,0
  405    00002C30 10          dc.b  16,40,0,68,68,68,76,52
  406    00002C38 00          dc.b  0,0,0,0,0,0,0,0
  407    00002C40 08          dc.b  8,16,0,56,4,60,68,62
  408    00002C48 00          dc.b  0,0,0,0,0,0,0,0
  409    00002C50 08          dc.b  8,16,0,56,68,120,64,56
  410    00002C58 00          dc.b  0,0,0,0,0,0,0,0
  411    00002C60 08          dc.b  8,16,0,56,68,68,68,56
  412    00002C68 00          dc.b  0,0,0,0,0,0,0,0
  413    00002C70 08          dc.b  8,16,0,68,68,68,76,52
  414    00002C78 00          dc.b  0,0,0,0,0,0,0,0
  415    00002C80 20          dc.b  32,16,0,56,4,60,68,62
  416    00002C88 00          dc.b  0,0,0,0,0,0,0,0
  417    00002C90 20          dc.b  32,16,0,56,68,120,64,56
  418    00002C98 00          dc.b  0,0,0,0,0,0,0,0
  419    00002CA0 20          dc.b  32,16,0,56,68,68,68,56
  420    00002CA8 00          dc.b  0,0,0,0,0,0,0,0
  421    00002CB0 20          dc.b  32,16,0,68,68,68,76,52
  422    00002CB8 00          dc.b  0,0,0,0,0,0,0,0
  423    00002CC0 00          dc.b  0,40,0,56,4,60,68,62
  424    00002CC8 00          dc.b  0,0,0,0,0,0,0,0
  425    00002CD0 00          dc.b  0,40,0,56,68,120,64,56
  426    00002CD8 00          dc.b  0,0,0,0,0,0,0,0
  427    00002CE0 00          dc.b  0,40,0,56,68,68,68,56
  428    00002CE8 00          dc.b  0,0,0,0,0,0,0,0
  429    00002CF0 00          dc.b  0,40,0,68,68,68,76,52
  430    00002CF8 00          dc.b  0,0,0,0,0,0,0,0
  431    00002D00 10          dc.b  16,0,56,68,68,124,68,68
  432    00002D08 00          dc.b  0,0,0,0,0,0,0,0
  433    00002D10 10          dc.b  16,40,0,16,16,16,16,16
  434    00002D18 00          dc.b  0,0,0,0,0,0,0,0
  435    00002D20 00          dc.b  0,60,76,76,84,100,100,120
  436    00002D28 00          dc.b  0,0,0,0,0,0,0,0
  437    00002D30 00          dc.b  0,62,80,144,252,144,144,158
  438    00002D38 00          dc.b  0,0,0,0,0,0,0,0
  439    00002D40 00          dc.b  0,16,0,56,4,60,68,62
  440    00002D48 00          dc.b  0,0,0,0,0,0,0,0
  441    00002D50 08          dc.b  8,16,0,16,16,16,16,16
  442    00002D58 00          dc.b  0,0,0,0,0,0,0,0
  443    00002D60 00          dc.b  0,0,0,60,76,84,100,120
  444    00002D68 00          dc.b  0,0,0,0,0,0,0,0
  445    00002D70 00          dc.b  0,0,0,236,18,124,144,110
  446    00002D78 00          dc.b  0,0,0,0,0,0,0,0
  447    00002D80 28          dc.b  40,0,56,68,68,124,68,68
  448    00002D88 00          dc.b  0,0,0,0,0,0,0,0
  449    00002D90 20          dc.b  32,16,0,16,16,16,16,16
  450    00002D98 00          dc.b  0,0,0,0,0,0,0,0
  451    00002DA0 28          dc.b  40,0,56,68,68,68,68,56
  452    00002DA8 00          dc.b  0,0,0,0,0,0,0,0
  453    00002DB0 28          dc.b  40,0,68,68,68,68,68,56
  454    00002DB8 00          dc.b  0,0,0,0,0,0,0,0
  455    00002DC0 08          dc.b  8,16,124,64,112,64,64,124
  456    00002DC8 00          dc.b  0,0,0,0,0,0,0,0
  457    00002DD0 00          dc.b  0,40,0,16,16,16,16,16

 PAGE   9 [3.3a] 6/28/89 17:46:28  ASSEMBLY OF BOOTROM2.TEXT

  458    00002DD8 00          dc.b  0,0,0,0,0,0,0,0
  459    00002DE0 00          dc.b  0,56,68,68,88,68,68,88
  460    00002DE8 40          dc.b  64,0,0,0,0,0,0,0
  461    00002DF0 00          dc.b  0,64,64,96,80,80,12,10
  462    00002DF8 0C          dc.b  12,8,8,0,0,0,0,0
  463    00002E00 00          dc.b  0,0,56,0,56,0,56,4
  464    00002E08 00          dc.b  0,0,0,0,0,0,0,0
  465    00002E10 00          dc.b  0,0,16,32,64,68,124,4
  466    00002E18 00          dc.b  0,0,0,0,0,0,0,0
  467    00002E20 00          dc.b  0,0,4,4,40,16,40,64
  468    00002E28 00          dc.b  0,0,0,0,0,0,0,0
  469    00002E30 00          dc.b  0,0,124,32,124,32,32,28
  470    00002E38 00          dc.b  0,0,0,0,0,0,0,0
  471    00002E40 00          dc.b  0,32,32,124,36,40,32,32
  472    00002E48 00          dc.b  0,0,0,0,0,0,0,0
  473    00002E50 00          dc.b  0,0,56,8,8,8,8,124
  474    00002E58 00          dc.b  0,0,0,0,0,0,0,0
  475    00002E60 00          dc.b  0,0,124,4,124,4,4,124
  476    00002E68 00          dc.b  0,0,0,0,0,0,0,0
  477    00002E70 00          dc.b  0,56,0,124,4,4,8,16
  478    00002E78 00          dc.b  0,0,0,0,0,0,0,0
  479    00002E80 00          dc.b  0,72,72,72,72,8,16,32
  480    00002E88 00          dc.b  0,0,0,0,0,0,0,0
  481    00002E90 00          dc.b  0,0,16,80,80,84,84,88
  482    00002E98 00          dc.b  0,0,0,0,0,0,0,0
  483    00002EA0 00          dc.b  0,0,64,64,68,72,80,96
  484    00002EA8 00          dc.b  0,0,0,0,0,0,0,0
  485    00002EB0 00          dc.b  0,0,124,68,68,68,68,124
  486    00002EB8 00          dc.b  0,0,0,0,0,0,0,0
  487    00002EC0 00          dc.b  0,0,124,68,68,4,8,16
  488    00002EC8 00          dc.b  0,0,0,0,0,0,0,0
  489    00002ED0 00          dc.b  0,0,96,0,4,4,8,112
  490    00002ED8 00          dc.b  0,0,0,0,0,0,0,0
  491    00002EE0 00          dc.b  0,16,72,32,0,0,0,0
  492    00002EE8 00          dc.b  0,0,0,0,0,0,0,0
  493    00002EF0 00          dc.b  0,0,16,8,124,8,16,0
  494    00002EF8 00          dc.b  0,0,0,0,0,0,0,0
  495    00002F00 00          dc.b  0,0,60,32,32,32,96,32
  496    00002F08 00          dc.b  0,0,0,0,0,0,0,0
  497    00002F10 00          dc.b  0,0,4,56,104,40,40,40
  498    00002F18 00          dc.b  0,0,0,0,0,0,0,0
  499    00002F20 F0          dc.b  240,240,240,240,240,240,240,240
  500    00002F28 F0          dc.b  240,240,240,240,0,0,0,0
  501    00002F30 0F          dc.b  15,15,15,15,15,15,15,15
  502    00002F38 0F          dc.b  15,15,15,15,0,0,0,0
  503    00002F40 FF          dc.b  255,129,129,129,129,129,129,129
  504    00002F48 81          dc.b  129,129,129,255,0,0,0,0
  505    00002F50 FF          dc.b  255,255,255,223,191,0,191,223
  506    00002F58 FF          dc.b  255,255,255,255,0,0,0,0
  507    00002F60 FF          dc.b  255,255,255,127,191,31,191,127
  508    00002F68 FF          dc.b  255,255,255,255,0,0,0,0
  509    00002F70 FB          dc.b  251,241,234,251,251,251,251,251
  510    00002F78 EA          dc.b  234,241,251,255,0,0,0,0
  511    00002F80 FF          dc.b  255,255,255,255,131,255,255,255
  512    00002F88 FF          dc.b  255,255,255,255,0,0,0,0
  513    00002F90 FF          dc.b  255,199,187,251,247,239,239,255
  514    00002F98 EF          dc.b  239,255,255,255,0,0,0,0

 PAGE  10 [3.3a] 6/28/89 17:46:28  ASSEMBLY OF BOOTROM2.TEXT

  515    00002FA0 FF          dc.b  255,31,191,191,191,25,246,246
  516    00002FA8 F6          dc.b  246,249,255,255,0,0,0,0
  517    00002FB0 FF          dc.b  255,255,255,255,255,255,255,255
  518    00002FB8 FF          dc.b  255,255,255,255,0,0,0,0
  519    00002FC0 00          dc.b  0,8,24,56,120,56,24,8
  520    00002FC8 00          dc.b  0,0,0,0,0,0,0,0
  521    00002FD0 FF          dc.b  255,255,215,239,131,239,215,255
  522    00002FD8 FF          dc.b  255,255,255,255,0,0,0,0
  523    00002FE0 FF          dc.b  255,131,131,131,131,131,131,131
  524    00002FE8 FF          dc.b  255,255,255,255,0,0,0,0
  525    00002FF0 7C          dc.b  124,254,186,182,174,142,182,186
  526    00002FF8 FE          dc.b  254,124,0,0,0,0,0,0
  527                       *
  528                       * tables for conversion between base 10k and bdc
  529                       *
  530                       *
  531    00003000 00        BIN2BCD dc.b $00,$01,$02,$03,$04
  532    00003005 05                dc.b $05,$06,$07,$08,$09
  533    0000300A 10                dc.b $10,$11,$12,$13,$14
  534    0000300F 15                dc.b $15,$16,$17,$18,$19
  535    00003014 20                dc.b $20,$21,$22,$23,$24
  536    00003019 25                dc.b $25,$26,$27,$28,$29
  537    0000301E 30                dc.b $30,$31,$32,$33,$34
  538    00003023 35                dc.b $35,$36,$37,$38,$39
  539    00003028 40                dc.b $40,$41,$42,$43,$44
  540    0000302D 45                dc.b $45,$46,$47,$48,$49
  541    00003032 50                dc.b $50,$51,$52,$53,$54
  542    00003037 55                dc.b $55,$56,$57,$58,$59
  543    0000303C 60                dc.b $60,$61,$62,$63,$64
  544    00003041 65                dc.b $65,$66,$67,$68,$69
  545    00003046 70                dc.b $70,$71,$72,$73,$74
  546    0000304B 75                dc.b $75,$76,$77,$78,$79
  547    00003050 80                dc.b $80,$81,$82,$83,$84
  548    00003055 85                dc.b $85,$86,$87,$88,$89
  549    0000305A 90                dc.b $90,$91,$92,$93,$94
  550    0000305F 95                dc.b $95,$96,$97,$98,$99
  551                       *
  552    00003064 00        bcd2bin dc.b 00,01,02,03,04,05,06,07,08,09,0,0,0,0,0,1
  553    00003074 0A                dc.b 10,11,12,13,14,15,16,17,18,19,0,0,0,0,0,0
  554    00003084 14                dc.b 20,21,22,23,24,25,26,27,28,29,0,0,0,0,0,0
  555    00003094 1E                dc.b 30,31,32,33,34,35,36,37,38,39,0,0,0,0,0,0
  556    000030A4 28                dc.b 40,41,42,43,44,45,46,47,48,49,0,0,0,0,0,0
  557    000030B4 32                dc.b 50,51,52,53,54,55,56,57,58,59,0,0,0,0,0,0
  558    000030C4 3C                dc.b 60,61,62,63,64,65,66,67,68,69,0,0,0,0,0,0
  559    000030D4 46                dc.b 70,71,72,73,74,75,76,77,78,79,0,0,0,0,0,0
  560    000030E4 50                dc.b 80,81,82,83,84,85,86,87,88,89,0,0,0,0,0,0
  561    000030F4 5A                dc.b 90,91,92,93,94,95,96,97,98,99

 PAGE  11 [3.3a] 6/28/89 17:46:28  ASSEMBLY OF BOOTROM2.TEXT

  563                       *------------------------------------------
  564                       *     PASCAL support routines    Rev 1.1
  565                       *     written by: Bob Roeder
  566                       *                 Brad Ritter
  567                       *------------------------------------------
  568             0000 30FE M@VEL EQU *
  569    000030FE 245F       MOVEA.L (SP)+,A2       SAVE RETURN ADDRESS
  570    00003100 201F       MOVE.L  (SP)+,D0       LENGTH
  571    00003102 205F       MOVEA.L (SP)+,A0       DESTINATION ADDRESS
  572    00003104 225F       MOVEA.L (SP)+,A1       SOURCE ADDRESS
  573    00003106 2F0A       MOVE.L  A2,-(SP)       RESTORE RETURN ADDRESS
  574             0000 3108 RM@VEL EQU *            ENTRY POINT FOR OPERANDS IN REGISTERS
  575    00003108 4A80       TST.L   D0
  576    0000310A 6F42       BLE.S     DONEE
  577    0000310C 3208       MOVE.W  A0,D1
  578    0000310E 3409       MOVE.W  A1,D2
  579    00003110 0201 0001  ANDI.B  #1,D1
  580    00003114 0202 0001  ANDI.B  #1,D2
  581    00003118 B501       EOR.B   D2,D1          ARE BOTH ADDRESSES ON EVEN OR BOTH ON ODD BOUNDARIES?
  582    0000311A 6708       BEQ.S     FAANCY
  583             0000 311C LOOOP     EQU *
  584    0000311C 10D9       MOVE.B  (A1)+,(A0)+
  585    0000311E 5380       SUBQ.L  #1,D0
  586    00003120 6EFA       BGT.S     LOOOP
  587    00003122 602A       BRA.S     DONEE
  588             0000 3124 FAANCY    EQU *
  589    00003124 4A02       TST.B   D2
  590    00003126 6706       BEQ.S     SKIIP1
  591    00003128 10D9       MOVE.B  (A1)+,(A0)+    MOVE ONE BYTE TO GET TO AN EVEN BYTE ADDRESS
  592    0000312A 5380       SUBQ.L  #1,D0
  593    0000312C 6F20       BLE.S     DONEE
  594             0000 312E SKIIP1    EQU *
  595    0000312E 2200       MOVE.L  D0,D1          PERFORM COUNT DIV 4 LONG WORD MOVES
  596    00003130 E489       LSR.L   #2,D1
  597    00003132 6706       BEQ.S     SKIIP2
  598             0000 3134 LOOOP2    EQU *
  599    00003134 20D9       MOVE.L  (A1)+,(A0)+
  600    00003136 5381       SUBQ.L  #1,D1
  601    00003138 6EFA       BGT.S     LOOOP2
  602             0000 313A SKIIP2    EQU *
  603    0000313A 0200 0003  ANDI.B  #3,D0
  604    0000313E 1200       MOVE.B  D0,D1
  605    00003140 E209       LSR.B   #1,D1
  606    00003142 6702       BEQ.S     SKIIP3
  607    00003144 30D9       MOVE.W  (A1)+,(A0)+
  608             0000 3146 SKIIP3    EQU *
  609    00003146 0200 0001  ANDI.B  #1,D0
  610    0000314A 6702       BEQ.S     DONEE
  611    0000314C 10D9       MOVE.B  (A1)+,(A0)+
  612             0000 314E DONEE     EQU *
  613    0000314E 4E75       RTS

 PAGE  12 [3.3a] 6/28/89 17:46:28  ASSEMBLY OF BOOTROM2.TEXT

  615                       *------------------------------------------
  616             0000 3150 M@VER EQU *
  617    00003150 245F       MOVEA.L (SP)+,A2       SAVE RETURN ADDRESS
  618    00003152 201F       MOVE.L  (SP)+,D0       LENGTH
  619    00003154 205F       MOVEA.L (SP)+,A0       DESTINATION ADDRESS
  620    00003156 225F       MOVEA.L (SP)+,A1       SOURCE ADDRESS
  621    00003158 2F0A       MOVE.L  A2,-(SP)       RESTORE RETURN ADDRESS
  622             0000 315A RM@VER EQU *            ENTRY POINT FOR OPERANDS IN REGISTERS
  623    0000315A 4A80       TST.L   D0
  624    0000315C 6F46       BLE.S     DONE
  625    0000315E D1C0       ADDA.L  D0,A0
  626    00003160 D3C0       ADDA.L  D0,A1
  627    00003162 3208       MOVE.W  A0,D1
  628    00003164 3409       MOVE.W  A1,D2
  629    00003166 0201 0001  ANDI.B  #1,D1
  630    0000316A 0202 0001  ANDI.B  #1,D2
  631    0000316E B501       EOR.B   D2,D1          ARE BOTH ADDRESSES ON EVEN OR BOTH ON ODD BOUNDARIES?
  632    00003170 6708       BEQ.S     FANCY
  633             0000 3172 LOOP     EQU *
  634    00003172 1121       MOVE.B  -(A1),-(A0)
  635    00003174 5380       SUBQ.L  #1,D0
  636    00003176 6EFA       BGT.S     LOOP
  637    00003178 602A       BRA.S     DONE
  638             0000 317A FANCY    EQU *
  639    0000317A 4A02       TST.B   D2
  640    0000317C 6706       BEQ.S     SKIP1
  641    0000317E 1121       MOVE.B  -(A1),-(A0)    MOVE ONE BYTE TO GET TO AN EVEN BYTE ADDRESS
  642    00003180 5380       SUBQ.L  #1,D0
  643    00003182 6F20       BLE.S     DONE
  644             0000 3184 SKIP1    EQU *
  645    00003184 2200       MOVE.L  D0,D1          PERFORM COUNT DIV 4 LONG WORD MOVES
  646    00003186 E489       LSR.L   #2,D1
  647    00003188 6706       BEQ.S     SKIP2
  648             0000 318A LOOP2    EQU *
  649    0000318A 2121       MOVE.L  -(A1),-(A0)
  650    0000318C 5381       SUBQ.L  #1,D1
  651    0000318E 6EFA       BGT.S     LOOP2
  652             0000 3190 SKIP2    EQU *
  653    00003190 0200 0003  ANDI.B  #3,D0
  654    00003194 1200       MOVE.B  D0,D1
  655    00003196 E209       LSR.B   #1,D1
  656    00003198 6702       BEQ.S     SKIP3
  657    0000319A 3121       MOVE.W  -(A1),-(A0)
  658             0000 319C SKIP3    EQU *
  659    0000319C 0200 0001  ANDI.B  #1,D0
  660    000031A0 6702       BEQ.S     DONE
  661    000031A2 1121       MOVE.B  -(A1),-(A0)
  662             0000 31A4 DONE     EQU *
  663    000031A4 4E75       RTS

 PAGE  13 [3.3a] 6/28/89 17:46:28  ASSEMBLY OF BOOTROM2.TEXT

  665                       *------------------------------------------
  666                        DEF E@MPY
  667                       *------------------------------------------
  668             0000 31A6 E@MPY           equ             *
  669    000031A6 4CDF 0007                 movem.l         (sp)+,d0/d1/d2  get return addr and operands
  670    000031AA 3041                      movea.w         d1,a0
  671    000031AC B1C1                      cmpa.l          d1,a0           test for 16 bit 2's compl
  672    000031AE 660E                      bne.s           not_wd1
  673    000031B0 3042                      movea.w         d2,a0
  674    000031B2 B1C2                      cmpa.l          d2,a0           test for 16 bit 2's compl
  675    000031B4 6610                      bne.s           twoXone
  676    000031B6 C5C1                      muls            d1,d2           signed multiply
  677    000031B8 2F02                      move.l          d2,-(sp)        push result
  678    000031BA 2040                      movea.l         d0,a0           fake rts
  679    000031BC 4ED0                      jmp             (a0)
  680                       *
  681    000031BE 3042      not_wd1         movea.w         d2,a0           test for 16 bit 2's compl
  682    000031C0 B1C2                      cmpa.l          d2,a0
  683    000031C2 6634                      bne.s           twoXtwo         branch to 32 x 32 bit mult
  684    000031C4 C342                      exg             d1,d2           put 16 bit value in d1
  685                       *
  686    000031C6 3602      twoXone         move.w          d2,d3
  687    000031C8 C6C1                      mulu            d1,d3           low order partial product
  688    000031CA 2802                      move.l          d2,d4
  689    000031CC 4844                      swap            d4
  690    000031CE C8C1                      mulu            d1,d4           high order partial product
  691    000031D0 4843                      swap            d3
  692    000031D2 7A00                      moveq           #0,d5           clear high word
  693    000031D4 3A03                      move.w          d3,d5
  694    000031D6 D885                      add.l           d5,d4           add middle products
  695    000031D8 4A41                      tst.w           d1              sign of multiplier ???
  696    000031DA 6A02                      bpl.s           mcand
  697    000031DC 9882                      sub.l           d2,d4           subtract multiplicand
  698    000031DE 4A82      mcand           tst.l           d2              sign of multiplicand ???
  699    000031E0 6A06                      bpl.s           out
  700    000031E2 3A01                      move.w          d1,d5           if negative
  701    000031E4 4845                      swap            d5
  702    000031E6 9885                      sub.l           d5,d4           subtract multiplier
  703    000031E8 3044      out             movea.w         d4,a0
  704    000031EA B1C4                      cmpa.l          d4,a0           test for overflow
  705    000031EC 664E                      bne.s           ovflow
  706    000031EE 4843                      swap            d3
  707    000031F0 3F03                      move.w          d3,-(sp)        store low  order part
  708    000031F2 3F04                      move.w          d4,-(sp)        store high order part
  709    000031F4 2040                      movea.l         d0,a0           fake rts
  710    000031F6 4ED0                      jmp             (a0)
  711                       *
  712             0000 31F8 twoXtwo         equ             *
  713    000031F8 2601                      move.l          d1,d3           look at multiplier
  714    000031FA 7E00                      moveq           #0,d7           clear flag
  715    000031FC E283                      asr.l           #1,d3           divide by 2
  716    000031FE 6402                      bcc.s           even1           catch LSB
  717    00003200 2E02                      move.l          d2,d7           use multiplicand in flag
  718    00003202 3043      even1           movea.w         d3,a0           check for 16 bit 2's compl
  719    00003204 B688                      cmp.l           a0,d3
  720    00003206 6700 0016                 beq             soneXtwo
  721    0000320A 2602                      move.l          d2,d3           otherwise try multiplicand

 PAGE  14 [3.3a] 6/28/89 17:46:28  ASSEMBLY OF BOOTROM2.TEXT

  722    0000320C 7E00                      moveq           #0,d7           clear flag
  723    0000320E E283                      asr.l           #1,d3           divide by 2
  724    00003210 6402                      bcc.s           even2           catch LSB
  725    00003212 2E01                      move.l          d1,d7           use multiplier in flag
  726    00003214 3043      even2           movea.w         d3,a0           check for 16 bit 2's compl
  727    00003216 B688                      cmp.l           a0,d3
  728    00003218 6600 0022                 bne             ovflow
  729    0000321C 2401                      move.l          d1,d2
  730    0000321E 43FA 0008 soneXtwo        lea             muldone,a1
  731    00003222 C189                      exg             a1,d0           use twoXone mult routine
  732    00003224 2203                      move.l          d3,d1
  733    00003226 609E                      bra.s           twoXone
  734    00003228 584F      muldone         addq            #4,sp           clean up stack
  735    0000322A D643                      add.w           d3,d3           multiply product by 2
  736    0000322C D984                      addx.l          d4,d4
  737    0000322E D647                      add.w           d7,d3           add flag
  738    00003230 4847                      swap            d7
  739    00003232 48C7                      ext.l           d7
  740    00003234 D987                      addx.l          d7,d4
  741    00003236 4843                      swap            d3              put d3 in wrong order for out
  742    00003238 2009                      move.l          a1,d0           put return address in d0
  743    0000323A 60AC                      bra.s           out
  744    0000323C 4E44      ovflow          trap            #4

 PAGE  15 [3.3a] 6/28/89 17:46:28  ASSEMBLY OF BOOTROM2.TEXT

  746                       *------------------------------------------
  747                        DEF E@DIV
  748                        DEF E@MOD
  749                       *------------------------------------------
  750                       *               register usage
  751                       *               d0 - return address
  752                       *               d1 - divisor
  753                       *               d2 - dividend and quotient
  754                       *               d3 - remainder
  755                       *               d4 - loop counter
  756                       *               d5 - sign of remainder
  757                       *               d6 - sign of quotent
  758                       *               d7 - mod/div flag
  759                       *
  760    0000323E 7E01      e@mod           moveq           #1,d7           set mod flag
  761    00003240 6002                      bra.s           d_start
  762    00003242 7E00      e@div           moveq           #0,d7           clear mod flag
  763    00003244 4CDF 0007 d_start         movem.l         (sp)+,d0/d1/d2  read return addr and operands
  764    00003248 4A81                      tst.l           d1              divide by zero?
  765    0000324A 671A                      beq.s           zerodiv
  766    0000324C 3041                      movea.w         d1,a0           is divisor a
  767    0000324E B288                      cmp.l           a0,d1           16 bit integer?
  768    00003250 6616                      bne.s           do_full
  769    00003252 2602                      move.l          d2,d3           try signed divide
  770    00003254 87C1                      divs            d1,d3
  771    00003256 6910                      bvs.s           do_full         did it work?
  772    00003258 4A47                      tst.w           d7              mod or div?
  773    0000325A 6702                      beq.s           div_1
  774    0000325C 4843                      swap            d3
  775    0000325E 48C3      div_1           ext.l           d3
  776    00003260 2F03      dm_out          move.l          d3,-(sp)        push result
  777    00003262 2040                      movea.l         d0,a0
  778    00003264 4ED0                      jmp             (a0)            fake return
  779    00003266 4E45      zerodiv         trap            #5
  780                       *
  781                       *               convert divisor and dividend to sign magnitude
  782                       *
  783    00003268 780F      do_full         moveq           #15,d4          loop count - 1
  784    0000326A 7C00                      moveq           #0,d6           sign of quotient
  785    0000326C 7A00                      moveq           #0,d5           sign of remainder
  786    0000326E 4A81                      tst.l           d1              divisor negative?
  787    00003270 6A06                      bpl.s           divend
  788    00003272 4481                      neg.l           d1
  789    00003274 6948                      bvs.s           max_neg_dvsr
  790    00003276 4646                      not.w           d6              set sign flag
  791    00003278 4A82      divend          tst.l           d2              divedend negative
  792    0000327A 6A10                      bpl.s           rmndr
  793    0000327C 4482                      neg.l           d2              complement quotient sign
  794    0000327E 6808                      bvc.s           not_special
  795    00003280 B2BC FFFF                 cmp.l           #-1,d1
                  FFFF 
  796    00003286 67B4                      beq.s           ovflow
  797    00003288 4646      not_special     not             d6              flag
  798    0000328A 4645                      not             d5              negative remainder
  799    0000328C 7600      rmndr           moveq           #0,d3           clear remainder
  800    0000328E 4841                      swap            d1              is divisor <= 16 bits
  801    00003290 4A41                      tst.w           d1

 PAGE  16 [3.3a] 6/28/89 17:46:28  ASSEMBLY OF BOOTROM2.TEXT

  802    00003292 663C                      bne.s           big_div
  803    00003294 4842                      swap            d2
  804    00003296 4841                      swap            d1
  805    00003298 3602                      move.w          d2,d3           get high order dividend
  806    0000329A 86C1                      divu            d1,d3           high part of divide
  807    0000329C 3403                      move.w          d3,d2           high quotient to d2
  808    0000329E 4842                      swap            d2
  809    000032A0 3602                      move.w          d2,d3           divide low order
  810    000032A2 86C1                      divu            d1,d3           dividend by divisor
  811    000032A4 3403                      move.w          d3,d2           quotient in d2
  812    000032A6 4243                      clr.w           d3
  813    000032A8 4843                      swap            d3              remainder in d3
  814                       *               put in correct sigh for quotient and remainder
  815    000032AA 4A46      dm_fixup        tst.w           d6
  816    000032AC 6A02                      bpl.s           chk_rem
  817    000032AE 4482                      neg.l           d2
  818    000032B0 4A45      chk_rem         tst.w           d5
  819    000032B2 6A02                      bpl.s           dm_store
  820    000032B4 4483                      neg.l           d3
  821    000032B6 4A47      dm_store        tst.w           d7              div or mod?
  822    000032B8 66A6                      bne.s           dm_out
  823    000032BA C543                      exg             d2,d3
  824    000032BC 60A2                      bra.s           dm_out
  825                       *
  826                       *               handle maximum negative divisor
  827                       *
  828    000032BE 4482      max_neg_dvsr    neg.l           d2
  829    000032C0 6908                      bvs.s           max_max         test for max neg dividend
  830    000032C2 2602                      move.l          d2,d3
  831    000032C4 4483                      neg.l           d3
  832    000032C6 7400                      moveq           #0,d2
  833    000032C8 60EC                      bra.s           dm_store
  834    000032CA 7401      max_max         moveq           #1,d2
  835    000032CC 7600                      moveq           #0,d3
  836    000032CE 60E6                      bra.s           dm_store
  837                       *
  838                       *               32 bit divisor
  839                       *
  840    000032D0 4841      big_div         swap            d1              restore divisor
  841    000032D2 4842                      swap            d2              move high order
  842    000032D4 3602                      move.w          d2,d3           dividend to remainder
  843    000032D6 4242                      clr.w           d2              shift dividend 16 bits left
  844    000032D8 9681                      sub.l           d1,d3           subtract divisor from rem.
  845    000032DA 2041                      movea.l         d1,a0           divisor in a0
  846    000032DC 4481                      neg.l           d1              minus divisor in d1
  847                       *
  848                       *               co-routine for negative remainder
  849                       *
  850    000032DE D482      m_top           add.l           d2,d2           shift dividend and quotient
  851    000032E0 D783                      addx.l          d3,d3           shift remainder
  852    000032E2 D688                      add.l           a0,d3           add divisor
  853    000032E4 6A12                      bpl.s           p_bottom        remainder positive?
  854    000032E6 51CC FFF6 m_bottom        dbra            d4,m_top        loop 16 times
  855    000032EA D688                      add.l           a0,d3           restore remainder
  856    000032EC D482                      add.l           d2,d2           shift in last bit of quotient
  857    000032EE 60BA                      bra.s           dm_fixup
  858                       *

 PAGE  17 [3.3a] 6/28/89 17:46:28  ASSEMBLY OF BOOTROM2.TEXT

  859                       *               co-routine for positive remainder
  860                       *
  861    000032F0 D582      p_top           addx.l          d2,d2           shift dividend and quotient
  862    000032F2 D783                      addx.l          d3,d3           shift remainder
  863    000032F4 D681                      add.l           d1,d3           subtract divisor
  864    000032F6 6BEE                      bmi.s           m_bottom        remainder negative?
  865    000032F8 51CC FFF6 p_bottom        dbra            d4,p_top        loop 16 times
  866    000032FC D582                      addx.l          d2,d2           shift in last bit of quotient
  867    000032FE 60AA                      bra.s           dm_fixup

 PAGE  18 [3.3a] 6/28/89 17:46:28  ASSEMBLY OF BOOTROM2.TEXT

  869                       *------------------------------------------
  870                                   DEF E@EQUAL
  871                                   DEF E@NEQUAL
  872                       *------------------------------------------
  873             0000 3300 E@NEQUAL    EQU *
  874    00003300 1F3C 0001             move.b     #1,-(sp)
  875    00003304 1F3C 0000             move.b     #0,-(sp)
  876    00003308 6008                  bra.s        strrt
  877             0000 330A E@EQUAL     EQU *
  878    0000330A 1F3C 0000             move.b     #0,-(sp)
  879    0000330E 1F3C 0001             move.b     #1,-(sp)
  880                       * obtain sets from stack
  881    00003312 266F 0008 strrt       movea.l    8(sp),a3           address of right op
  882    00003316 286F 000C             movea.l    12(sp),a4          address of left op
  883                       * place minimum size in d5
  884    0000331A 3E1B                  move.w     (a3)+,d7           size of right op
  885    0000331C 3C1C                  move.w     (a4)+,d6           size of left op
  886    0000331E BE46                  cmp.w      d6,d7
  887    00003320 6F04                  ble.s        rightmin
  888    00003322 3A06      LEFTMIN     move.w     d6,d5
  889    00003324 6002                  bra.s        nulltest           REI 7/3/80
  890    00003326 3A07      RIGHTMIN    move.w     d7,d5
  891    00003328 6714      nulltest    beq.s        restof             REI 7/3/80
  892                       
  893                       * perform set comparison
  894    0000332A E445      LONG        asr.w      #2,d5              determine size in long words
  895    0000332C 6408                  bcc.s        even               even number of long words
  896    0000332E B94B                  cmpm.w     (a3)+,(a4)+        compare "odd" word
  897    00003330 662C                  bne.s        nope
  898    00003332 4A45                  tst.w      d5                 min size single word?
  899    00003334 6708                  beq.s        restof
  900    00003336 B98B      EVEN        cmpm.l     (a3)+,(a4)+        compare long words
  901    00003338 6624                  bne.s        nope
  902    0000333A 5345                  subq.w     #1,d5
  903    0000333C 6EF8                  bgt.s        even
  904                       * if operands of unequal size, test rest of longer -
  905                       *   if all "extra" bits not 0, sets are unequal
  906    0000333E 9E46      RESTOF      sub.w      d6,d7              size of right op-size of left op
  907    00003340 6716                  beq.s        yep                equal size
  908    00003342 6A0C                  bpl.s        right              right op longer
  909    00003344 4447                  neg.w      d7                 d7 = # bytes longer
  910    00003346 4A5C      LEFT        tst.w      (a4)+              left op longer, test it
  911    00003348 6614                  bne.s        nope
  912    0000334A 5547                  subq.w     #2,d7              2 bytes tested
  913    0000334C 6EF8                  bgt.s        left
  914    0000334E 6008                  bra.s        yep
  915    00003350 4A5B      RIGHT       tst.w      (a3)+              test right op
  916    00003352 660A                  bne.s        nope
  917    00003354 5547                  subq.w     #2,d7              2 bytes tested
  918    00003356 6EF8                  bgt.s        right
  919                       * move true or false value to result
  920    00003358 1F57 000E YEP         move.b     (sp),14(sp)
  921    0000335C 6006                  bra.s        fnsh
  922    0000335E 1F6F 0002 NOPE        move.b     2(sp),14(sp)
                  000E 
  923    00003364 2F6F 0004 fnsh        move.l     4(sp),10(sp)       put return address at the right place
                  000A 

 PAGE  19 [3.3a] 6/28/89 17:46:28  ASSEMBLY OF BOOTROM2.TEXT

  924    0000336A DFFC 0000             adda.l     #10,sp             eliminate extra bytes in stack
                  000A 
  925    00003370 4E75                  rts

 PAGE  20 [3.3a] 6/28/89 17:46:28  ASSEMBLY OF BOOTROM2.TEXT

  927                       *------------------------------------------
  928                                   DEF E@ASSIGN
  929                       *------------------------------------------
  930             0000 3372 E@ASSIGN    EQU *
  931                       * obtain sets from stack
  932    00003372 266F 0004             movea.l    4(sp),a3          address of source
  933    00003376 286F 0008             movea.l    8(sp),a4          address of dest
  934                       * place size in d7
  935    0000337A 3E1B                  move.w     (a3)+,d7          size of source
  936    0000337C 38C7                  move.w     d7,(a4)+          store size in dest
  937    0000337E 6710                  beq.s      done2             check for zero length set
  938                       * perform assignment
  939    00003380 E447                  asr.w      #2,d7              determine size in long words
  940    00003382 6406                  bcc.s        evenn              even number of long words
  941    00003384 38DB                  move.w     (a3)+,(a4)+        move "odd" word
  942    00003386 4A47                  tst.w      d7                 min size single word?
  943    00003388 6706                  beq.s        done2
  944    0000338A 28DB      EVENN       move.l     (a3)+,(a4)+        move long words
  945    0000338C 5347                  subq.w     #1,d7
  946    0000338E 6EFA                  bgt.s        evenn
  947    00003390 2F57 0008 DONE2       move.l     (sp),8(sp)         eliminate extra bytes in stack
  948    00003394 508F                  addq.l     #8,sp
  949    00003396 4E75                  rts

 PAGE  21 [3.3a] 6/28/89 17:46:28  ASSEMBLY OF BOOTROM2.TEXT

  951                       *------------------------------------------
  952                                   DEF E@UNION
  953                       *------------------------------------------
  954             0000 3398 E@UNION     EQU *
  955                       * obtain sets from stack
  956    00003398 246F 0004             movea.l    4(sp),a2           address of right op
  957    0000339C 286F 0008             movea.l    8(sp),a4           address of left op
  958    000033A0 266F 000C             movea.l    12(sp),a3          address of result
  959                       * place minimum size in d5
  960    000033A4 3E1A                  move.w     (a2)+,d7           size of right op
  961    000033A6 3C1C                  move.w     (a4)+,d6           size of left op
  962    000033A8 BE46                  cmp.w      d6,d7
  963    000033AA 6F06                  ble.s        rightmin2
  964    000033AC 3A06      LEFTMIN2    move.w     d6,d5
  965    000033AE 36C7                  move.w     d7,(a3)+           result size is max op size
  966    000033B0 6004                  bra.s        nulltest2          REI 7/3
  967    000033B2 3A07      RIGHTMIN2   move.w     d7,d5
  968    000033B4 36C6                  move.w     d6,(a3)+           result size is max op size
  969    000033B6 4A45      nulltest2   tst.w      d5                 REI 7/3
  970    000033B8 6718                  beq.s        restof2            REI 7/3
  971                       
  972                       * perform set union
  973    000033BA E445      LONG3       asr.w      #2,d5              determine size in long words
  974    000033BC 640A                  bcc.s        even3              even number of long words
  975    000033BE 381A                  move.w     (a2)+,d4           union "odd" word
  976    000033C0 885C                  or.w       (a4)+,d4
  977    000033C2 36C4                  move.w     d4,(a3)+
  978    000033C4 4A45                  tst.w      d5                 min size single word?
  979    000033C6 670A                  beq.s        restof2
  980    000033C8 281A      EVEN3       move.l     (a2)+,d4           union long words
  981    000033CA 889C                  or.l       (a4)+,d4
  982    000033CC 26C4                  move.l     d4,(a3)+
  983    000033CE 5345                  subq.w     #1,d5
  984    000033D0 6EF6                  bgt.s        even3
  985                       * move rest of longer operand
  986    000033D2 9E46      RESTOF2     sub.w      d6,d7              size of right op-size of left op
  987    000033D4 6712                  beq.s        done3              equal size
  988    000033D6 6A0A                  bpl.s        right2             right op longer
  989    000033D8 4447                  neg.w      d7                 d7 = # bytes longer
  990    000033DA 36DC      LEFT2       move.w     (a4)+,(a3)+        left op longer, move it
  991    000033DC 5547                  subq.w     #2,d7              2 bytes moved
  992    000033DE 6EFA                  bgt.s        left2
  993    000033E0 6006                  bra.s        done3
  994    000033E2 36DA      RIGHT2      move.w     (a2)+,(a3)+        move right op
  995    000033E4 5547                  subq.w     #2,d7              2 bytes moved
  996    000033E6 6EFA                  bgt.s        right2
  997    000033E8 2F57 000C DONE3       move.l     (sp),12(sp)        eliminate extra bytes in stack
  998    000033EC DFFC 0000             adda.l     #12,sp
                  000C 
  999    000033F2 4E75                  rts

 PAGE  22 [3.3a] 6/28/89 17:46:28  ASSEMBLY OF BOOTROM2.TEXT

 1001                       *------------------------------------------
 1002                                   DEF E@INCLUSION
 1003                       *------------------------------------------
 1004             0000 33F4 E@INCLUSION EQU *
 1005                       * obtain sets from stack
 1006    000033F4 266F 0004             movea.l    4(sp),a3           address of right op
 1007    000033F8 286F 0008             movea.l    8(sp),a4           address of left op
 1008                       * place minimum size in d5
 1009    000033FC 3E1B                  move.w     (a3)+,d7           size of right op
 1010    000033FE 3C1C                  move.w     (a4)+,d6           size of left op
 1011    00003400 BE46                  cmp.w      d6,d7
 1012    00003402 6F04                  ble.s        rightmin3
 1013    00003404 3A06      LEFTMIN3    move.w     d6,d5
 1014    00003406 6002                  bra.s        nulltest3          REI 7/3
 1015    00003408 3A07      RIGHTMIN3   move.w     d7,d5
 1016    0000340A 671C      nulltest3   beq.s        restof3            REI 7/3
 1017                       
 1018                       * perform inclusion test
 1019    0000340C E445      LONG4       asr.w      #2,d5              determine size in long words
 1020    0000340E 640C                  bcc.s        even4              even number of long words
 1021    00003410 381B                  move.w     (a3)+,d4           "odd" word inclusion
 1022    00003412 4644                  not.w      d4
 1023    00003414 C85C                  and.w      (a4)+,d4
 1024    00003416 6624                  bne.s        nope2
 1025    00003418 4A45                  tst.w      d5                 min size single word?
 1026    0000341A 670C                  beq.s        restof3
 1027    0000341C 281B      EVEN4       move.l     (a3)+,d4           long word inclusion
 1028    0000341E 4684                  not.l      d4
 1029    00003420 C89C                  and.l      (a4)+,d4
 1030    00003422 6618                  bne.s        nope2
 1031    00003424 5345                  subq.w     #1,d5
 1032    00003426 6EF4                  bgt.s        even4
 1033                       * if left operand longer, test "extra" portion
 1034    00003428 9C47      RESTOF3     sub.w      d7,d6              size of left op-size of right op
 1035    0000342A 6F08                  ble.s        yep2               left op not longer
 1036    0000342C 4A5C      LEFT3       tst.w      (a4)+              left op longer, test it
 1037    0000342E 660C                  bne.s        nope2
 1038    00003430 5546                  subq.w     #2,d6              2 bytes tested
 1039    00003432 6EF8                  bgt.s        left3
 1040                       * move boolean value to result
 1041    00003434 1F7C 0001 YEP2        move.b     #1,10(sp)          true
                  000A 
 1042    0000343A 6006                  bra.s        cleanup
 1043    0000343C 1F7C 0000 NOPE2       move.b     #0,10(sp)          false
                  000A 
 1044    00003442 2F57 0006 CLEANUP     move.l     (sp),6(sp)         eliminate extra bytes in stack
 1045    00003446 5C8F                  addq.l     #6,sp
 1046    00003448 4E75                  rts

 PAGE  23 [3.3a] 6/28/89 17:46:28  ASSEMBLY OF BOOTROM2.TEXT

 1048                       *------------------------------------------
 1049                                   DEF E@INTERSECT
 1050                       *------------------------------------------
 1051             0000 344A E@INTERSECT EQU *
 1052                       * obtain sets from stack
 1053    0000344A 246F 0004             movea.l    4(sp),a2           address of right op
 1054    0000344E 286F 0008             movea.l    8(sp),a4           address of left op
 1055    00003452 266F 000C             movea.l    12(sp),a3          address of result
 1056                       * place minimum size in d7
 1057    00003456 3E1A                  move.w     (a2)+,d7           size of right op
 1058    00003458 BE5C                  cmp.w      (a4)+,d7           compare with size of left op
 1059    0000345A 6F04                  ble.s        setsize
 1060    0000345C 3E2C FFFE LEFTMIN4    move.w     -2(a4),d7
 1061    00003460 36C7      SETSIZE     move.w     d7,(a3)+           result size = min op size
 1062    00003462 6718                  beq.s        done4              REI 7/3
 1063                       
 1064                       * perform set intersection
 1065    00003464 E447                  asr.w      #2,d7              determine size in long words
 1066    00003466 640A                  bcc.s        even5              even number of long words
 1067    00003468 3C1A                  move.w     (a2)+,d6           intersect "odd" word
 1068    0000346A CC5C                  and.w      (a4)+,d6
 1069    0000346C 36C6                  move.w     d6,(a3)+
 1070    0000346E 4A47                  tst.w      d7                 min size single word?
 1071    00003470 670A                  beq.s        done4
 1072    00003472 2C1A      EVEN5       move.l     (a2)+,d6           intersect long words
 1073    00003474 CC9C                  and.l      (a4)+,d6
 1074    00003476 26C6                  move.l     d6,(a3)+
 1075    00003478 5347                  subq.w     #1,d7
 1076    0000347A 6EF6                  bgt.s        even5
 1077    0000347C 2F57 000C DONE4       move.l     (sp),12(sp)
 1078    00003480 DFFC 0000             adda.l     #12,sp
                  000C 
 1079    00003486 4E75                  rts

 PAGE  24 [3.3a] 6/28/89 17:46:28  ASSEMBLY OF BOOTROM2.TEXT

 1081                       *------------------------------------------
 1082                                   DEF E@DIFFERENCE
 1083                       *------------------------------------------
 1084             0000 3488 E@DIFFERENCE EQU *
 1085                       * obtain sets from stack
 1086    00003488 246F 0004             movea.l    4(sp),a2           address of right op
 1087    0000348C 286F 0008             movea.l    8(sp),a4           address of left op
 1088    00003490 266F 000C             movea.l    12(sp),a3          address of result
 1089                       * place minimum size in d5
 1090    00003494 3E1A                  move.w     (a2)+,d7           size of right op
 1091    00003496 3C1C                  move.w     (a4)+,d6           size of left op
 1092    00003498 BE46                  cmp.w      d6,d7
 1093    0000349A 6F04                  ble.s        rightmin5
 1094    0000349C 3A06      LEFTMIN5    move.w     d6,d5
 1095    0000349E 6002                  bra.s        setsize2
 1096    000034A0 3A07      RIGHTMIN5   move.w     d7,d5
 1097    000034A2 36C6      SETSIZE2    move.w     d6,(a3)+           result size = size of left op
 1098    000034A4 4A45                  tst.w      d5                 REI 7/3
 1099    000034A6 671C                  beq.s        restof4            REI 7/3
 1100                       
 1101                       * perform difference
 1102    000034A8 E445                  asr.w      #2,d5              determine size in long words
 1103    000034AA 640C                  bcc.s        even6              even number of long words
 1104    000034AC 381A                  move.w     (a2)+,d4           difference of "odd" word
 1105    000034AE 4644                  not.w      d4
 1106    000034B0 C85C                  and.w      (a4)+,d4
 1107    000034B2 36C4                  move.w     d4,(a3)+
 1108    000034B4 4A45                  tst.w      d5                 min size single word?
 1109    000034B6 670C                  beq.s        restof4
 1110    000034B8 281A      EVEN6       move.l     (a2)+,d4           long word difference
 1111    000034BA 4684                  not.l      d4
 1112    000034BC C89C                  and.l      (a4)+,d4
 1113    000034BE 26C4                  move.l     d4,(a3)+
 1114    000034C0 5345                  subq.w     #1,d5
 1115    000034C2 6EF4                  bgt.s        even6
 1116                       * if left operand longer, move to result
 1117    000034C4 9C47      RESTOF4     sub.w      d7,d6              size of left op-size of right op
 1118    000034C6 6F06                  ble.s        done5
 1119    000034C8 36DC      LEFT4       move.w     (a4)+,(a3)+        left op longer, move it
 1120    000034CA 5546                  subq.w     #2,d6              2 bytes moved
 1121    000034CC 6EFA                  bgt.s        left4
 1122    000034CE 2F57 000C DONE5       move.l     (sp),12(sp)        eliminate extra bytes in stack
 1123    000034D2 DFFC 0000             adda.l     #12,sp
                  000C 
 1124    000034D8 4E75                  rts

 PAGE  25 [3.3a] 6/28/89 17:46:28  ASSEMBLY OF BOOTROM2.TEXT

 1126                       *------------------------------------------
 1127                                   DEF E@IN
 1128                       *------------------------------------------
 1129    000034DA 205F      E@IN    movea.l         (sp)+,a0        return address
 1130    000034DC 225F              movea.l         (sp)+,a1        set address
 1131    000034DE 201F              move.l          (sp)+,d0        selector value
 1132    000034E0 6D18              blt.s           lfalse          selector<0?
 1133    000034E2 81FC 0008         divs            #8,d0
 1134    000034E6 B051              cmp.w           (a1),d0         selector>setsize?
 1135    000034E8 6C10              bge.s           lfalse
 1136    000034EA 2200              move.l          d0,d1
 1137    000034EC 4841              swap d1
 1138    000034EE 1031 0002         move.b          2(a1,d0),d0     get selected byte
 1139    000034F2 E328              lsl.b           d1,d0           construct Boolean result
 1140    000034F4 EE08              lsr.b           #7,d0
 1141    000034F6 1F00              move.b          d0,-(sp)        push the result
 1142    000034F8 4ED0              jmp             (a0)
 1143    000034FA 4227      lfalse  clr.b           -(sp)
 1144    000034FC 4ED0              jmp             (a0)

 PAGE  26 [3.3a] 6/28/89 17:46:28  ASSEMBLY OF BOOTROM2.TEXT

 1146                       *------------------------------------------
 1147                                  DEF E@DDELEMENT
 1148                       *------------------------------------------
 1149             0000 34FE E@DDELEMENT EQU         *
 1150    000034FE 205F              movea.l         (sp)+,a0         return address
 1151    00003500 301F              move.w          (sp)+,d0        element number to add to set
 1152    00003502 225F              movea.l         (sp)+,a1        source address
 1153    00003504 2457              movea.l         (sp),a2         destination address
 1154    00003506 3E19              move.w          (a1)+,d7        get set size of source
 1155    00003508 34C7              move.w          d7,(a2)+        store size value
 1156    0000350A B3CA              cmpa.l          a2,a1           see if source and destination are equal
 1157    0000350C 670C              beq.s           insert1
 1158                       * copy source set to the destination set
 1159    0000350E 264A      setcopy movea.l         a2,a3           save destination address
 1160    00003510 3C07              move.w          d7,d6           save size for destination
 1161    00003512 6F06              ble.s           insert1         check for size of zero
 1162    00003514 36D9      rept    move.w          (a1)+,(a3)+     sets are always an even number of bytes
 1163    00003516 5546              subq.w          #2,d6
 1164    00003518 6EFA              bgt.s           rept
 1165                       * insert an element in a set, adjusting the size of the destination if needed
 1166    0000351A 48C0      insert1 ext.l           d0
 1167    0000351C 81FC 0010         divs            #16,d0           byte offset in low word
 1168    00003520 2A00              move.l          d0,d5
 1169    00003522 4845              swap            d5              bit offset from left of byte
 1170    00003524 9A7C 000F         sub.w           #15,d5
 1171    00003528 4445              neg.w           d5              bit offset from right
 1172    0000352A E340              asl             #1,d0           make d0 a byte offset
 1173    0000352C 3200              move.w          d0,d1           compute final size into d1
 1174    0000352E 5441              addq.w          #2,d1           put zeros in the two bytes containing
 1175    00003530 3401              move.w          d1,d2           the new bit if it is beyond current size
 1176    00003532 926A FFFE         sub.w           -2(a2),d1
 1177    00003536 6F0E              ble.s           exxiit
 1178    00003538 3542 FFFE         move.w          d2,-2(a2)       store appropriate size for set
 1179    0000353C 47F2 2000         lea             0(a2,d2),a3
 1180    00003540 4263      zerout  clr.w           -(a3)
 1181    00003542 5541              subq.w          #2,d1
 1182    00003544 6EFA              bgt.s           zerout
 1183    00003546 0885 0003 exxiit  bclr            #3,d5           { received upgrade 9/9 }
 1184    0000354A 6706              beq.s           skiipp
 1185    0000354C 0BF2 0000         bset            d5,0(a2,d0)
 1186    00003550 4ED0              jmp             (a0)
 1187    00003552 0BF2 0001 skiipp  bset            d5,1(a2,d0)
 1188    00003556 4ED0              jmp             (a0)

 PAGE  27 [3.3a] 6/28/89 17:46:28  ASSEMBLY OF BOOTROM2.TEXT

 1190                       *------------------------------------------
 1191                       *       procedure SCOPY (var destination, source: string;
 1192                       *                        index, length: integer);
 1193                       *       procedure SAPPEND (var destination, source: string);
 1194                       *       procedure INSERT (var source, destination: string; index: integer);
 1195                       *       procedure DELETE (var destination: string; index, length: integer);
 1196                       *       function  POS (var target, source: string): integer;
 1197                       *
 1198                               NOSYMS
 1199                       
 1200             0000 0004 DESTINATION     EQU A4
 1201             0000 0003 SOURCE          EQU A3
 1202             0000 0002 RETURN          EQU A2
 1203             0000 0001 PTR             EQU A1
 1204             0000 0000 PTR2            EQU A0
 1205             0000 0004 TARGET          EQU DESTINATION
 1206                       
 1207             0000 0007 INDEX           EQU D7
 1208             0000 0006 LENGTH          EQU D6
 1209             0000 0005 DLEN            EQU D5
 1210             0000 0004 SLEN            EQU D4
 1211             0000 0003 ONRIGHT         EQU D3
 1212             0000 0002 COUNT           EQU D2
 1213             0000 0001 PTEMP           EQU D1
 1214             0000 0000 CHAR            EQU D0
 1215             0000 0005 TLEN            EQU DLEN
 1216                       
 1217             0000 3558 SAPPEND         EQU *
 1218    00003558 4CDF 1C00         MOVEM.L (SP)+,RETURN/SOURCE/DESTINATION     RETURN ADDRESS, PARAMETERS
 1219    0000355C 4244              CLR     SLEN
 1220    0000355E 181B              MOVE.B  (SOURCE)+,SLEN          LENGTH OF SOURCE
 1221    00003560 6716              BEQ.S   L2                      FINISH EARLY IF NULL
 1222    00003562 4245              CLR     DLEN
 1223    00003564 1A14              MOVE.B  (DESTINATION),DLEN      LENGTH OF DESTINATION
 1224    00003566 43F4 5001         LEA     1(DESTINATION,DLEN.W),PTR       START AT DEST[DLEN+1]
 1225    0000356A DA04              ADD.B   SLEN,DLEN               COMPUTE LENGTH OF RESULT
 1226    0000356C 650A              BCS.S   L2                      ABORT IF TOO LONG
 1227    0000356E 1885              MOVE.B  DLEN,(DESTINATION)
 1228    00003570 5344              SUBQ    #1,SLEN
 1229    00003572 12DB      L1      MOVE.B  (SOURCE)+,(PTR)+        TRANSFER BYTES
 1230    00003574 51CC FFFC         DBRA    SLEN,L1
 1231    00003578 4ED2      L2      JMP     (RETURN)                END
 1232                       
 1233             0000 357A INSERT          EQU *
 1234    0000357A 245F              MOVEA.L (SP)+,RETURN
 1235    0000357C 2E1F              MOVE.L  (SP)+,INDEX             GET PARAMETERS
 1236    0000357E 285F              MOVEA.L (SP)+,DESTINATION
 1237    00003580 265F              MOVEA.L (SP)+,SOURCE
 1238    00003582 6F32              BLE.S   L6                      ERROR EXIT IF NOT (INDEX > 0 )
 1239    00003584 4244              CLR     SLEN
 1240    00003586 181B              MOVE.B  (SOURCE)+,SLEN
 1241    00003588 672C              BEQ.S   L6                      EXIT IF SOURCE IS NULL
 1242    0000358A 4245              CLR     DLEN
 1243    0000358C 1A14              MOVE.B  (DESTINATION),DLEN
 1244    0000358E 43F4 5001         LEA     1(DESTINATION,DLEN.W),PTR       POINT TO "TAIL" OF DESTINATION
 1245    00003592 3605              MOVE    DLEN,ONRIGHT            (SAVE DLEN FOR LATER)
 1246    00003594 DA04              ADD.B   SLEN,DLEN               NEW LENGTH OF DESTINATION

 PAGE  28 [3.3a] 6/28/89 17:46:28  ASSEMBLY OF BOOTROM2.TEXT

 1247    00003596 651E              BCS.S   L6                      EXIT IF TOO LONG
 1248    00003598 1885              MOVE.B  DLEN,(DESTINATION)
 1249    0000359A 9647              SUB     INDEX,ONRIGHT           NUMBER OF BYTES TO SHIFT RIGHT (LESS 1)
 1250    0000359C 6C06              BGE.S   L3
 1251    0000359E 5243              ADDQ    #1,ONRIGHT              TEST FOR EXACTLY ZERO
 1252    000035A0 670E              BEQ.S   L5
 1253    000035A2 4ED2              JMP     (RETURN)                ERROR EXIT (INDEX > DLEN + 1)
 1254    000035A4 41F1 4000 L3      LEA     0(PTR,SLEN.W),PTR2      MAKE ROOM FOR SOURCE
 1255    000035A8 1121      L4      MOVE.B  -(PTR),-(PTR2)          BY SHIFTING RIGHT
 1256    000035AA 51CB FFFC         DBRA    ONRIGHT,L4
 1257    000035AE 5344              SUBQ    #1,SLEN
 1258    000035B0 12DB      L5      MOVE.B  (SOURCE)+,(PTR)+        TRANSFER BYTES
 1259    000035B2 51CC FFFC         DBRA    SLEN,L5
 1260    000035B6 4ED2      L6      JMP     (RETURN)                END
 1261                       
 1262             0000 35B8 SCOPY           EQU *
 1263    000035B8 245F              MOVEA.L (SP)+,RETURN
 1264    000035BA 2C1F              MOVE.L  (SP)+,LENGTH            GET PARAMETERS
 1265    000035BC 2E1F              MOVE.L  (SP)+,INDEX
 1266    000035BE 265F              MOVEA.L (SP)+,SOURCE
 1267    000035C0 285F              MOVEA.L (SP)+,DESTINATION
 1268    000035C2 6F24              BLE.S   L9                      EXIT IF NOT (INDEX > 0)
 1269    000035C4 4A86              TST.L   LENGTH
 1270    000035C6 6D20              BLT.S   L9                      ERROR IF REQUESTED LENGTH < 0
 1271    000035C8 4244              CLR     SLEN
 1272    000035CA 1813              MOVE.B  (SOURCE),SLEN
 1273    000035CC 5244              ADDQ    #1,SLEN
 1274    000035CE 9847              SUB     INDEX,SLEN              LENGTH OF SUBSTRING
 1275    000035D0 6D16              BLT.S   L9                      ERROR IF (INDEX > SLEN + 1)
 1276    000035D2 BC44              CMP     SLEN,LENGTH             TAKE MINIMUM OF SLEN, LENGTH
 1277    000035D4 6F02              BLE.S   L7
 1278    000035D6 3C04              MOVE    SLEN,LENGTH             SUBSTRING LENGTH IS SMALLER
 1279    000035D8 18C6      L7      MOVE.B  LENGTH,(DESTINATION)+   SET LENGTH INTO DESTINATION
 1280    000035DA 5346              SUBQ    #1,LENGTH
 1281    000035DC 6D0A              BLT.S   L9
 1282    000035DE 43F3 7000         LEA     0(SOURCE,INDEX.W),PTR
 1283    000035E2 18D9      L8      MOVE.B  (PTR)+,(DESTINATION)+   COPY THE BYTES
 1284    000035E4 51CE FFFC         DBRA    LENGTH,L8
 1285    000035E8 4ED2      L9      JMP     (RETURN)
 1286                       
 1287             0000 35EA DELETE          EQU *
 1288    000035EA 245F              MOVEA.L (SP)+,RETURN
 1289    000035EC 2C1F              MOVE.L  (SP)+,LENGTH            GET PARAMETERS
 1290    000035EE 2E1F              MOVE.L  (SP)+,INDEX
 1291    000035F0 285F              MOVEA.L (SP)+,DESTINATION
 1292    000035F2 6F28              BLE.S   L11                     EXIT IF NOT (INDEX > 0)
 1293    000035F4 4A86              TST.L   LENGTH
 1294    000035F6 6F24              BLE.S   L11                     EXIT IF LENGTH <= 0
 1295    000035F8 4245              CLR     DLEN
 1296    000035FA 1A14              MOVE.B  (DESTINATION),DLEN
 1297    000035FC 9A46              SUB     LENGTH,DLEN             NEW LENGTH OF STRING
 1298    000035FE 6D1C              BLT.S   L11                     ERROR IF < 0
 1299    00003600 3605              MOVE    DLEN,ONRIGHT
 1300    00003602 5243              ADDQ    #1,ONRIGHT
 1301    00003604 9647              SUB     INDEX,ONRIGHT           NUMBER OF CHARACTERS TO MOVE
 1302    00003606 6D14              BLT.S   L11                     ERROR IF NEGATIVE
 1303    00003608 1885              MOVE.B  DLEN,(DESTINATION)      SET NEW LENGTH

 PAGE  29 [3.3a] 6/28/89 17:46:28  ASSEMBLY OF BOOTROM2.TEXT

 1304    0000360A 5343              SUBQ    #1,ONRIGHT
 1305    0000360C 6D0E              BLT.S   L11                     FINISH EARLY IF NO BYTES TO MOVE
 1306    0000360E 43F4 7000         LEA     0(DESTINATION,INDEX.W),PTR
 1307    00003612 41F1 6000         LEA     0(PTR,LENGTH.W),PTR2
 1308    00003616 12D8      L10     MOVE.B  (PTR2)+,(PTR)+
 1309    00003618 51CB FFFC         DBRA    ONRIGHT,L10
 1310    0000361C 4ED2      L11     JMP     (RETURN)
 1311                       
 1312             0000 361E POS             EQU *
 1313    0000361E 4CDF 1C00         MOVEM.L (SP)+,RETURN/SOURCE/TARGET
 1314    00003622 4297              CLR.L   (SP)                    POS WILL BE 0 IF SEARCH FAILS
 1315    00003624 4245              CLR     TLEN
 1316    00003626 1A1C              MOVE.B  (TARGET)+,TLEN
 1317    00003628 672C              BEQ.S   L16                     POS IS 0 IF TARGET IS NULL
 1318    0000362A 4284              CLR.L   SLEN
 1319    0000362C 181B              MOVE.B  (SOURCE)+,SLEN
 1320    0000362E 9845              SUB     TLEN,SLEN               NUMBER OF POSSIBLE PLACES (LESS 1)
 1321    00003630 6D24              BLT.S   L16                     POS IS 0 IF TARGET LONGER THAN SRC
 1322    00003632 101C              MOVE.B  (TARGET)+,CHAR          FIRST CHARACTER OF TARGET
 1323    00003634 5545              SUBQ    #2,TLEN                 LENGTH OF REST OF TARGET (LESS 1)
 1324    00003636 2204              MOVE.L  SLEN,PTEMP              TENTATIVE VALUE OF POS
 1325                       
 1326    00003638 B01B      L12     CMP.B   (SOURCE)+,CHAR
 1327    0000363A 57CC FFFC L13     DBEQ    SLEN,L12                LOOP TILL FIND FIRST BYTE OF TARGET
 1328    0000363E 6616              BNE.S   L16                     POS IS 0 IF DIDN'T FIND IT
 1329    00003640 3405              MOVE    TLEN,COUNT              REMAINING CHARACTERS (LESS 1)
 1330    00003642 6D0C              BLT.S   L15                     FOUND IT IF LENGTH(TARGET) IS 1
 1331    00003644 43D4              LEA     (TARGET),PTR            ELSE COMPARE REMAINING CHARS
 1332    00003646 41D3              LEA     (SOURCE),PTR2
 1333    00003648 B109      L14     CMPM.B  (PTR)+,(PTR2)+          LOOP TILL MATCH OR MISMATCH
 1334    0000364A 56CA FFFC         DBNE    COUNT,L14
 1335    0000364E 66EA              BNE.S   L13                     IF MISMATCH, CONTINUE SCAN
 1336    00003650 9244      L15     SUB     SLEN,PTEMP              FOUND IT, SO FIGURE HOW FAR
 1337    00003652 5241              ADDQ    #1,PTEMP                        WE ADVANCED
 1338    00003654 2E81              MOVE.L  PTEMP,(SP)              RETURN INDEX VALUE
 1339    00003656 4ED2      L16     JMP     (RETURN)
 1340                       *****************************************************************************
 1341                       *
 1342                       *  These are the power-of-ten tables that are used in the
 1343                       *  decimal <--> real conversions.
 1344                       *
 1345                       *  Decimal / real numbers in the range [10^(-64),10^(64)]
 1346                       *  convert into real / decimal numbers with one real
 1347                       *  multiply while all other decimal <--> real conversions require
 1348                       *  2 real multiplies and the use of the table tb_auxpt.
 1349                       *
 1350                       *  For a complete description of the conversion algorithms, see the
 1351                       *  Math IRS.
 1352                       *
 1353                       *  The table contains the real values:
 1354                       *  10^(-80),10^(-79),...,10^(0),.10^(1),...,10^(64).
 1355                       *
 1356    00003658 2F52 F8AC tb_pwt   dc.l    $2F52F8AC,$174D6123,$2F87B6D7,$1D20B96C
 1357    00003668 2FBD A48C          dc.l    $2FBDA48C,$E468E7C7,$2FF286D8,$0EC190DC
 1358    00003678 3027 288E          dc.l    $3027288E,$1271F513,$305CF2B1,$970E7258
 1359    00003688 3092 17AE          dc.l    $309217AE,$FE690777,$30C69D9A,$BE034955
 1360    00003698 30FC 4501 tb_pwt8  dc.l    $30FC4501,$6D841BAA,$3131AB20,$E472914A

 PAGE  30 [3.3a] 6/28/89 17:46:28  ASSEMBLY OF BOOTROM2.TEXT

 1361    000036A8 3166 15E9          dc.l    $316615E9,$1D8F359D,$319B9B63,$64F30304
 1362    000036B8 31D1 411E tb_pwt4  dc.l    $31D1411E,$1F17E1E3,$32059165,$A6DDDA5B
 1363    000036C8 323A F5BF          dc.l    $323AF5BF,$109550F2,$3270D997,$6A5D5297
 1364    000036D8 32A5 0FFD tb_pwtt  dc.l    $32A50FFD,$44F4A73D,$32DA53FC,$9631D10D
 1365    000036E8 3310 747D          dc.l    $3310747D,$DDDF22A8,$3344919D,$5556EB52
 1366    000036F8 3379 B604          dc.l    $3379B604,$AAACA626,$33B011C2,$EAABE7D8
 1367    00003708 33E4 1633          dc.l    $33E41633,$A556E1CE,$34191BC0,$8EAC9A41
 1368    00003718 344F 62B0          dc.l    $344F62B0,$B257C0D2,$34839DAE,$6F76D883
 1369    00003728 34B8 851A          dc.l    $34B8851A,$0B548EA4,$34EEA660,$8E29B24D
 1370    00003738 3523 27FC          dc.l    $352327FC,$58DA0F70,$3557F1FB,$6F10934C
 1371    00003748 358D EE7A          dc.l    $358DEE7A,$4AD4B81F,$35C2B50C,$6EC4F313
 1372    00003758 35F7 624F          dc.l    $35F7624F,$8A762FD8,$362D3AE3,$6D13BBCE
 1373    00003768 3662 44CE          dc.l    $366244CE,$242C5561,$3696D601,$AD376AB9
 1374    00003778 36CC 8B82          dc.l    $36CC8B82,$18854567,$3701D731,$4F534B61
 1375    00003788 3736 4CFD          dc.l    $37364CFD,$A3281E39,$376BE03D,$0BF225C7
 1376    00003798 37A1 6C26          dc.l    $37A16C26,$2777579C,$37D5C72F,$B1552D83
 1377    000037A8 380B 38FB          dc.l    $380B38FB,$9DAA78E4,$3841039D,$428A8B8F
 1378    000037B8 3875 4484          dc.l    $38754484,$932D2E72,$38AA95A5,$B7F87A0F
 1379    000037C8 38E0 9D87          dc.l    $38E09D87,$92FB4C49,$3914C4E9,$77BA1F5C
 1380    000037D8 3949 F623          dc.l    $3949F623,$D5A8A733,$398039D6,$65896880
 1381    000037E8 39B4 484B          dc.l    $39B4484B,$FEEBC2A0,$39E95A5E,$FEA6B347
 1382    000037F8 3A1F B0F6          dc.l    $3A1FB0F6,$BE506019,$3A53CE9A,$36F23C10
 1383    00003808 3A88 C240          dc.l    $3A88C240,$C4AECB14,$3ABEF2D0,$F5DA7DD9
 1384    00003818 3AF3 57C2          dc.l    $3AF357C2,$99A88EA7,$3B282DB3,$4012B251
 1385    00003828 3B5E 3920          dc.l    $3B5E3920,$10175EE6,$3B92E3B4,$0A0E9B4F
 1386    00003838 3BC7 9CA1          dc.l    $3BC79CA1,$0C924223,$3BFD83C9,$4FB6D2AC
 1387    00003848 3C32 725D          dc.l    $3C32725D,$D1D243AC,$3C670EF5,$4646D497
 1388    00003858 3C9C D2B2          dc.l    $3C9CD2B2,$97D889BC,$3CD203AF,$9EE75616
 1389    00003868 3D06 849B          dc.l    $3D06849B,$86A12B9B,$3D3C25C2,$68497682
 1390    00003878 3D71 9799          dc.l    $3D719799,$812DEA11,$3DA5FD7F,$E1796495
 1391    00003888 3DDB 7CDF          dc.l    $3DDB7CDF,$D9D7BDBB,$3E112E0B,$E826D695
 1392    00003898 3E45 798E          dc.l    $3E45798E,$E2308C3A,$3E7AD7F2,$9ABCAF48
 1393    000038A8 3EB0 C6F7          dc.l    $3EB0C6F7,$A0B5ED8D,$3EE4F8B5,$88E368F1
 1394    000038B8 3F1A 36E2          dc.l    $3F1A36E2,$EB1C432D,$3F50624D,$D2F1A9FC
 1395    000038C8 3F84 7AE1          dc.l    $3F847AE1,$47AE147B,$3FB99999,$9999999A
 1396    000038D8 3FF0 0000          dc.l    $3FF00000,$00000000
 1397    000038E0 4024 0000          dc.l    $40240000,$00000000,$40590000,$00000000
 1398    000038F0 408F 4000          dc.l    $408F4000,$00000000,$40C38800,$00000000
 1399    00003900 40F8 6A00          dc.l    $40F86A00,$00000000,$412E8480,$00000000
 1400    00003910 4163 12D0          dc.l    $416312D0,$00000000,$4197D784,$00000000
 1401    00003920 41CD CD65          dc.l    $41CDCD65,$00000000,$4202A05F,$20000000
 1402    00003930 4237 4876          dc.l    $42374876,$E8000000,$426D1A94,$A2000000
 1403    00003940 42A2 309C          dc.l    $42A2309C,$E5400000,$42D6BCC4,$1E900000
 1404    00003950 430C 6BF5          dc.l    $430C6BF5,$26340000,$4341C379,$37E08000
 1405    00003960 4376 3457          dc.l    $43763457,$85D8A000,$43ABC16D,$674EC800
 1406    00003970 43E1 58E4          dc.l    $43E158E4,$60913D00,$4415AF1D,$78B58C40
 1407    00003980 444B 1AE4          dc.l    $444B1AE4,$D6E2EF50,$4480F0CF,$064DD592
 1408    00003990 44B5 2D02          dc.l    $44B52D02,$C7E14AF6,$44EA7843,$79D99DB4
 1409    000039A0 4520 8B2A          dc.l    $45208B2A,$2C280291,$4554ADF4,$B7320335
 1410    000039B0 4589 D971          dc.l    $4589D971,$E4FE8402,$45C027E7,$2F1F1281
 1411    000039C0 45F4 31E0          dc.l    $45F431E0,$FAE6D721,$46293E59,$39A08CEA
 1412    000039D0 465F 8DEF          dc.l    $465F8DEF,$8808B024,$4693B8B5,$B5056E17
 1413    000039E0 46C8 A6E3          dc.l    $46C8A6E3,$2246C99C,$46FED09B,$EAD87C03
 1414    000039F0 4733 4261          dc.l    $47334261,$72C74D82,$476812F9,$CF7920E3
 1415    00003A00 479E 17B8          dc.l    $479E17B8,$4357691B,$47D2CED3,$2A16A1B1
 1416    00003A10 4807 8287          dc.l    $48078287,$F49C4A1D,$483D6329,$F1C35CA5
 1417    00003A20 4872 5DFA          dc.l    $48725DFA,$371A19E7,$48A6F578,$C4E0A061

 PAGE  31 [3.3a] 6/28/89 17:46:28  ASSEMBLY OF BOOTROM2.TEXT

 1418    00003A30 48DC B2D6          dc.l    $48DCB2D6,$F618C879,$4911EFC6,$59CF7D4C
 1419    00003A40 4946 6BB7          dc.l    $49466BB7,$F0435C9E,$497C06A5,$EC5433C6
 1420    00003A50 49B1 8427          dc.l    $49B18427,$B3B4A05C,$49E5E531,$A0A1C873
 1421    00003A60 4A1B 5E7E          dc.l    $4A1B5E7E,$08CA3A8F,$4A511B0E,$C57E649A
 1422    00003A70 4A85 61D2          dc.l    $4A8561D2,$76DDFDC0,$4ABABA47,$14957D30
 1423    00003A80 4AF0 B46C          dc.l    $4AF0B46C,$6CDD6E3E,$4B24E187,$8814C9CE
 1424    00003A90 4B5A 19E9          dc.l    $4B5A19E9,$6A19FC41,$4B905031,$E2503DA9
 1425    00003AA0 4BC4 643E          dc.l    $4BC4643E,$5AE44D13,$4BF97D4D,$F19D6057
 1426    00003AB0 4C2F DCA1          dc.l    $4C2FDCA1,$6E04B86D,$4C63E9E4,$E4C2F344
 1427    00003AC0 4C98 E45E          dc.l    $4C98E45E,$1DF3B015,$4CCF1D75,$A5709C1B
 1428    00003AD0 4D03 7269          dc.l    $4D037269,$87666191,$4D384F03,$E93FF9F5
 1429                       
 1430                       *****************************************************************************
 1431                       *
 1432                       *  This table is used to convert those decimal numbers outside the
 1433                       *  range of [10^(-64),10^(64)] to real numbers. It is also used
 1434                       *  to map real numbers into the aforementioned range in the
 1435                       *  real --> decimal conversion.
 1436                       *
 1437                       *  For a complete description of the conversion algorithms, see the
 1438                       *  Math IRS.
 1439                       *
 1440                       *  The table contains the real values:
 1441                       *  10(^-256),10^(-192),...,10^(0),10^(64),...,10^(256).
 1442                       *
 1443    00003AE0 0AC8 0628 tb_auxpt dc.l    $0AC80628,$64AC6F43,$18123FF0,$6EEA847A
 1444    00003AF0 255B BA08          dc.l    $255BBA08,$CF8C979D,$32A50FFD,$44F4A73D
 1445    00003B00 3FF0 0000          dc.l    $3FF00000,$00000000
 1446    00003B08 4D38 4F03          dc.l    $4D384F03,$E93FF9F5,$5A827748,$F9301D32
 1447    00003B18 67CC 0E1E          dc.l    $67CC0E1E,$F1A724EB,$75154FDD,$7F73BF3C
 1448                       
 1449                       *****************************************************************************
 1450                       *
 1451                       *  The next table is used in converting pairs of decimal mantissa digits
 1452                       *  into their binary value in the decimal --> real conversion. The
 1453                       *  two decimal digits are treated as an offset into the table, where their
 1454                       *  binary is stored.
 1455                       *
 1456    00003B28 00        tb_bcd   dc.b    0,1,2,3,4,5,6,7,8,9,0,0,0,0,0,0
 1457    00003B38 0A                 dc.b    10,11,12,13,14,15,16,17,18,19,0,0,0,0,0,0
 1458    00003B48 14                 dc.b    20,21,22,23,24,25,26,27,28,29,0,0,0,0,0,0
 1459    00003B58 1E                 dc.b    30,31,32,33,34,35,36,37,38,39,0,0,0,0,0,0
 1460    00003B68 28                 dc.b    40,41,42,43,44,45,46,47,48,49,0,0,0,0,0,0
 1461    00003B78 32                 dc.b    50,51,52,53,54,55,56,57,58,59,0,0,0,0,0,0
 1462    00003B88 3C                 dc.b    60,61,62,63,64,65,66,67,68,69,0,0,0,0,0,0
 1463    00003B98 46                 dc.b    70,71,72,73,74,75,76,77,78,79,0,0,0,0,0,0
 1464    00003BA8 50                 dc.b    80,81,82,83,84,85,86,87,88,89,0,0,0,0,0,0
 1465    00003BB8 5A                 dc.b    90,91,92,93,94,95,96,97,98,99
 1466                       
 1467                       *****************************************************************************
 1468                       *
 1469                       *  The next table is used in converting an 8 bit integer into a pair of
 1470                       *  decimal digits in the real --> decimal conversion. The 8 bit
 1471                       *  integer is used as an offset into the table, where the 2 decimal digits
 1472                       *  are stored.
 1473                       *
 1474    00003BC2 0001 0203 tb_bin   dc.l     $00010203,$04050607,$08091011,$12131415

 PAGE  32 [3.3a] 6/28/89 17:46:28  ASSEMBLY OF BOOTROM2.TEXT

 1475    00003BD2 1617 1819          dc.l     $16171819,$20212223,$24252627,$28293031
 1476    00003BE2 3233 3435          dc.l     $32333435,$36373839,$40414243,$44454647
 1477    00003BF2 4849 5051          dc.l     $48495051,$52535455,$56575859,$60616263
 1478    00003C02 6465 6667          dc.l     $64656667,$68697071,$72737475,$76777879
 1479    00003C12 8081 8283          dc.l     $80818283,$84858687,$88899091,$92939495,$96979899
 1480                       
 1481                       *****************************************************************************
 1482                       *
 1483                       *  The following are coefficients used in the function evaluations.
 1484                       *  They were all converted from decimal to reals using 80 bit math
 1485                       *  and 20 significant decimal digits, and then rounded to the 64 bit
 1486                       *  format. Only the 16 most significant decimal digits are displayed.
 1487                       *
 1488    00003C26 BFE9 4415 cff_loga dc.l     $bfe94415,$b356bd29          -0.7895611288749126 E +00
 1489    00003C2E 4030 624A          dc.l     $4030624a,$2016afed           0.1638394356302153 E +02
 1490    00003C36 C050 07FF          dc.l     $c05007ff,$12b3b59a          -0.6412494342374558 E +02
 1491                       *
 1492    00003C3E C041 D580 cff_logb dc.l     $c041d580,$4b67ce0f          -0.3566797773903465 E +02
 1493    00003C46 4073 8083          dc.l     $40738083,$fa15267e           0.3120322209192453 E +03
 1494    00003C4E C088 0BFE          dc.l     $c0880bfe,$9c0d9077          -0.7694993210849488 E +03
 1495                       
 1496                       *****************************************************************************
 1497                       
 1498    00003C56 3F00 8B44 cff_expp dc.l     $3f008b44,$2ae6921e           0.3155519276568465 E -04
 1499    00003C5E 3F7F 074B          dc.l     $3f7f074b,$f22a12a6           0.7575318015942278 E -02
 1500    00003C66 3FD0 0000          dc.l     $3fd00000,$00000000           0.2500000000000000 E +00
 1501                       *
 1502    00003C6E 3EA9 3363 cff_expq dc.l     $3ea93363,$0ce50455           0.7510402839987005 E -06
 1503    00003C76 3F44 AF0C          dc.l     $3f44af0c,$5c28d4df           0.6312189437439850 E -03
 1504    00003C7E 3FAD 1728          dc.l     $3fad1728,$51dfd9ff           0.5681730269855122 E -01
 1505    00003C86 3FE0 0000          dc.l     $3fe00000,$00000000           0.5000000000000000 E +00
 1506                       
 1507                       *****************************************************************************
 1508                       
 1509    00003C8E 3CE8 80FF cff_sin  dc.l     $3ce880ff,$6993df95           0.2720479095788886 E -14
 1510    00003C96 BD6A E420          dc.l     $bd6ae420,$dc08499c          -0.7642917806891047 E -12
 1511    00003C9E 3DE6 123C          dc.l     $3de6123c,$686ad430           0.1605893649037159 E -09
 1512    00003CA6 BE5A E645          dc.l     $be5ae645,$4b5dc0ab          -0.2505210679827458 E -07
 1513    00003CAE 3EC7 1DE3          dc.l     $3ec71de3,$a524f063           0.2755731921015276 E -05
 1514    00003CB6 BF2A 01A0          dc.l     $bf2a01a0,$1a013e1a          -0.1984126984120184 E -03
 1515    00003CBE 3F81 1111          dc.l     $3f811111,$111110b0           0.8333333333333165 E -02
 1516    00003CC6 BFC5 5555          dc.l     $bfc55555,$55555555          -0.1666666666666667 E +00
 1517                       
 1518                       *****************************************************************************
 1519                       
 1520    00003CCE BEF2 BAB7 cff_tanp dc.l     $bef2bab7,$2ea2c724          -0.1786170734225443 E -04
 1521    00003CD6 3F6C 0E82          dc.l     $3f6c0e82,$a63baadf           0.3424887823589059 E -02
 1522    00003CDE BFC1 12B5          dc.l     $bfc112b5,$e54d0900          -0.1333835000642196 E +00
 1523    00003CE6 3FF0 0000          dc.l     $3ff00000,$00000000           0.1000000000000000 E +01
 1524                       *
 1525    00003CEE 3EA0 B774 cff_tanq dc.l     $3ea0b774,$f07678e9           0.4981943399378651 E -06
 1526    00003CF6 BF34 6F64          dc.l     $bf346f64,$99094841          -0.3118153190701003 E -03
 1527    00003CFE 3F9A 479E          dc.l     $3f9a479e,$a17e2159           0.2566383228944011 E -01
 1528    00003D06 BFDD DEB0          dc.l     $bfdddeb0,$47fbd9d5          -0.4667168333975529 E +00
 1529    00003D0E 3FF0 0000          dc.l     $3ff00000,$00000000           0.1000000000000000 E +01
 1530                       
 1531                       *****************************************************************************

 PAGE  33 [3.3a] 6/28/89 17:46:28  ASSEMBLY OF BOOTROM2.TEXT

 1532                       
 1533    00003D16 BFE6 4BBD cff_asnp dc.l     $bfe64bbd,$b5e61e65          -0.6967457344735065 E +00
 1534    00003D1E 4024 4E17          dc.l     $40244e17,$64ec3927           0.1015252223380646 E +02
 1535    00003D26 C043 D82C          dc.l     $c043d82c,$a9a6da9f          -0.3968886299750488 E +02
 1536    00003D2E 404C 9AA7          dc.l     $404c9aa7,$360ad48a           0.5720822787789173 E +02
 1537    00003D36 C03B 5E55          dc.l     $c03b5e55,$a83a0a62          -0.2736849452416426 E +02
 1538                       *
 1539    00003D3E C037 D2E8 cff_asnq dc.l     $c037d2e8,$6ef9861f          -0.2382385915376024 E +02
 1540    00003D46 4062 DE7C          dc.l     $4062de7c,$96591c70           0.1509527084103060 E +03
 1541    00003D4E C077 DDCE          dc.l     $c077ddce,$fc56a848          -0.3818630336175015 E +03
 1542    00003D56 407A 124F          dc.l     $407a124f,$101eb843           0.4171443024826041 E +03
 1543    00003D5E C064 86C0          dc.l     $c06486c0,$3e2b87cc          -0.1642109671449856 E +03
 1544                       
 1545                       *****************************************************************************
 1546                       
 1547    00003D66 BFEA CD7A cff_atnp dc.l     $bfeacd7a,$d9b187bd          -0.8375829936815006 E +00
 1548    00003D6E C020 FD3F          dc.l     $c020fd3f,$5c8d6a63          -0.8494624035132068 E +01
 1549    00003D76 C034 817F          dc.l     $c034817f,$b9e2bccb          -0.2050585519586165 E +02
 1550    00003D7E C02B 60A6          dc.l     $c02b60a6,$51061ce2          -0.1368876889419193 E +02
 1551                       *
 1552    00003D86 402E 0C49 cff_atnq dc.l     $402e0c49,$e14ac710           0.1502400116002858 E +02
 1553    00003D8E 404D CA0A          dc.l     $404dca0a,$320da3d7           0.5957843614259734 E +02
 1554    00003D96 4055 8A12          dc.l     $40558a12,$040b6da5           0.8615734959713024 E +02
 1555    00003D9E 4044 887C          dc.l     $4044887c,$bcc495a9           0.4106630668257578 E +02
 1556                       
 1557                       *****************************************************************************
 1558                       
 1559    00003DA6 3F3C 78FD cff_powp dc.l     $3f3c78fd,$db4afc28           0.4344577567216312 E -03
 1560    00003DAE 3F62 4924          dc.l     $3f624924,$2e278dac           0.2232142128592426 E -02
 1561    00003DB6 3F89 9999          dc.l     $3f899999,$999e080e           0.1250000000050380 E -01
 1562    00003DBE 3FB5 5555          dc.l     $3fb55555,$5555554d           0.8333333333333321 E -01
 1563                       *
 1564    00003DC6 3EEF 4EDD cff_powq dc.l     $3eef4edd,$e392cc80           0.1492885268059561 E -04
 1565    00003DCE 3F24 2F7A          dc.l     $3f242f7a,$e0384c74           0.1540029044098976 E -03
 1566    00003DD6 3F55 D87E          dc.l     $3f55d87e,$18d7cd9f           0.1333354131358578 E -02
 1567    00003DDE 3F83 B2AB          dc.l     $3f83b2ab,$6e131d98           0.9618129059517242 E -02
 1568    00003DE6 3FAC 6B08          dc.l     $3fac6b08,$d703026d           0.5550410866408560 E -01
 1569    00003DEE 3FCE BFBD          dc.l     $3fcebfbd,$ff82c4ce           0.2402265069590954 E +00
 1570    00003DF6 3FE6 2E42          dc.l     $3fe62e42,$fefa39ef           0.6931471805599453 E +00
 1571                       *
 1572    00003DFE 0000 0000 tb_a1    dc.l     $00000000,$00000000           Dummy entry for indexing
 1573    00003E06 3FF0 0000          dc.l     $3ff00000,000000000,$3feea4af,$a2a490da
 1574    00003E16 3FED 5818          dc.l     $3fed5818,$dcfba487,$3fec199b,$dd85529c
 1575    00003E26 3FEA E89F          dc.l     $3feae89f,$995ad3ad,$3fe9c491,$82a3f090
 1576    00003E36 3FE8 ACE5          dc.l     $3fe8ace5,$422aa0db,$3fe7a114,$73eb0187
 1577    00003E46 3FE6 A09E          dc.l     $3fe6a09e,$667f3bcd,$3fe5ab07,$dd485429
 1578    00003E56 3FE4 BFDA          dc.l     $3fe4bfda,$d5362a27,$3fe3dea6,$4c123422
 1579    00003E66 3FE3 06FE          dc.l     $3fe306fe,$0a31b715,$3fe2387a,$6e756238
 1580    00003E76 3FE1 72B8          dc.l     $3fe172b8,$3c7d517b,$3fe0b558,$6cf9890f
 1581    00003E86 3FE0 0000          dc.l     $3fe00000,$00000000
 1582                       *
 1583    00003E8E 0000 0000 tb_a2    dc.l     $00000000,$00000000           Dummy entry for indexing
 1584    00003E96 BC7E 9C23          dc.l     $bc7e9c23,$179c0000,$3c611065,$89500000
 1585    00003EA6 3C5C 7C46          dc.l     $3c5c7c46,$b0700000,$bc641577,$ee040000
 1586    00003EB6 3C76 324C          dc.l     $3c76324c,$05460000,$3c6ada09,$11f00000
 1587    00003EC6 3C79 B07E          dc.l     $3c79b07e,$b6c80000,$3c78a62e,$4adc0000
 1588                       

 PAGE  34 [3.3a] 6/28/89 17:46:28  ASSEMBLY OF BOOTROM2.TEXT

 1589                       *****************************************************************************
 1590                       
 1591    00003ED6 4E75      stkoper  rts
 1592                                end
PASS 1 ERRORS: 0
PASS 2 ERRORS: 0
