Path: utzoo!attcan!uunet!husc6!uwvax!oddjob!ncar!noao!amethyst!spock!chris From: chris@spock (Chris Ott) Newsgroups: comp.arch Subject: Execute instructions Message-ID: <787@amethyst.ma.arizona.edu> Date: 21 Jul 88 09:21:41 GMT Sender: news@amethyst.ma.arizona.edu Reply-To: chris@spock.ame.arizona.edu (Chris Ott) Distribution: na Organization: Computer-Aided Engr. Lab (CAEL), University of Arizona, Tucson Lines: 46 Bill Davidsen (wedu@ge-crd.arpa) writes: > The old GE600 series had two instructions called XEC (execute) and XED > (execute double). What these did was to fetch an operation from the > target location and execute it (or them) while leaving the IC pointing > at the XED instruction. > > [example deleted] > > What other machines have this type feature, and do people use it > anymore? It allowed the called program to save the registers modified, > was a one word calling sequence, and didn't destroy ANY registers (the > regular calls set the return in a register). It also saved the flags, > which could be preserved or not. > > bill davidsen (wedu@ge-crd.arpa) Yes. There is at least one that I know of. The Data General MV-series machines (and probably the older Eclipse machines, too) have an instruction called XCT, which executes the word in a specified register as an instruction. I don't know much about it, but I don't think it saves the registers or anything like that. It just keeps going, as if the word in the accumulator is the next instruction to be executed. Again, I'm not absolutely certain about this. If anyone knows better, please correct me. There is only one place I've ever seen it used. We have a high- resolution (1280x1024) graphics display controller on our system. To access it, the program needs to use I/O instructions. One part of the I/O instruction cannot be specified at run time (the device number, I think). That is, the device number can only be specified as an immediate operand, not as a value at an address or in an accumulator. Since the GDC can use any of four device numbers, and it is necessary to specify the device number at run time, the instruction has to be set up at run time by loading the bit pattern for the I/O instruction and ORing in the device number. One thing I don't understand is: the machine can be re-microcoded. Why can't they just write a new instruction to allow the user to specify the device code with an accumulator as well? ------------------------------------------------------------------------------- Chris Ott Internet: chris@spock.ame.arizona.edu Computational Fluid UUCP: {hao!noao,allegra,cmcl2}!arizona!amethyst! Mechanics Lab spock!chris University of Arizona -------------------------------------------------------------------------------