Help reviewing PDP-11 model processors

lars brinkhoff lars at nocrew.org
Thu Jun 15 17:35:50 AEST 2000


The following message is a courtesy copy of an article
that has been posted to alt.sys.pdp11 as well.

Time for the second round of assembler source code review.

If the user specifies a PDP-11 model to the assembler (e.g. -m11/45),
this code is used to tell the assembler what processor to assemble for.

Also, in one case (11/34a), the model enables FP-11 floating-point
instructions.  Should this be done for 11/34c too?  If there are any
other models with otherwise optional features installed, I'd like to
know.

  if (strcmp (arg, "03") == 0)                  /* 11/03 */
    return set_cpu_model ("kd11f");             /* KD11-F */

  else if (strcmp (arg, "04") == 0)             /* 11/04 */
    return set_cpu_model ("kd11d");             /* KD11-D */

  else if (strcmp (arg, "05") == 0 ||           /* 11/05 or 11/10 */
           strcmp (arg, "10") == 0)
    return set_cpu_model ("kd11b");             /* KD11-B */

  else if (strcmp (arg, "15") == 0 ||           /* 11/15 or 11/20 */
           strcmp (arg, "20") == 0)
    return set_cpu_model ("ka11");              /* KA11 */

  else if (strcmp (arg, "21") == 0)             /* 11/21 */
    return set_cpu_model ("t11");               /* T11 */

  else if (strcmp (arg, "24") == 0)             /* 11/24 */
    return set_cpu_model ("f11");               /* F11 */

  else if (strcmp (arg, "34") == 0)             /* 11/34 */
    return set_cpu_model ("kd11e");             /* KD11-E */

  else if (strcmp (arg, "34a") == 0)            /* 11/34a */
    return set_cpu_model ("kd11e") &&           /* KD11-E with FP-11 */
           set_option ("fpp");

  else if (strcmp (arg, "35") == 0 ||           /* 11/35 or 11/40 */
           strcmp (arg, "40") == 0)
    return set_cpu_model ("kd11da");            /* KD11-A */

  else if (strcmp (arg, "44") == 0)             /* 11/44 */
    return set_cpu_model ("kd11dz");            /* KD11-Z */

  else if (strcmp (arg, "45") == 0 ||           /* 11/45/50/55/70 */
           strcmp (arg, "50") == 0 ||
           strcmp (arg, "55") == 0 ||
           strcmp (arg, "70") == 0)
    return set_cpu_model ("kb11");              /* KB11 */

  else if (strcmp (arg, "60") == 0)             /* 11/60 */
    return set_cpu_model ("kd11k");             /* KD11-K */

  else if (strcmp (arg, "53") == 0 ||           /* 11/53/73/83/84/93/94 */
           strcmp (arg, "73") == 0 ||
           strcmp (arg, "83") == 0 ||
           strcmp (arg, "84") == 0 ||
           strcmp (arg, "93") == 0 ||
           strcmp (arg, "94") == 0)
    return set_cpu_model ("j11");               /* J11 */

Received: (from major at localhost)
	by minnie.cs.adfa.edu.au (8.9.3/8.9.3) id LAA78381
	for pups-liszt; Fri, 16 Jun 2000 11:09:19 +1000 (EST)
	(envelope-from owner-pups at minnie.cs.adfa.edu.au)


More information about the TUHS mailing list