home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / comp / arch / 11778 < prev    next >
Encoding:
Text File  |  1992-12-21  |  2.9 KB  |  65 lines

  1. Newsgroups: comp.arch
  2. Path: sparky!uunet!zaphod.mps.ohio-state.edu!darwin.sura.net!mojo.eng.umd.edu!pandora.pix.com!stripes
  3. From: stripes@pix.com (Josh Osborne)
  4. Subject: Re: RISC assemblers question
  5. Message-ID: <BzHCvw.CAM@pix.com>
  6. Sender: news@pix.com (The News Subsystem)
  7. Nntp-Posting-Host: pandora.pix.com
  8. Organization: Pix Technologies -- The company with no adult supervision
  9. References: <1992Dec17.173930.3235@meiko.com> <lj2h6hINNikj@exodus.Eng.Sun.COM>
  10. Date: Sat, 19 Dec 1992 00:19:06 GMT
  11. Lines: 52
  12.  
  13. In article <lj2h6hINNikj@exodus.Eng.Sun.COM> nand@not-and.Eng.Sun.COM writes:
  14. [...]
  15. >A couple of things make it a *little* harder :
  16. >
  17. >1) Branches with delay slots (you have to be able to represent them and
  18. >   deal with them).
  19.  
  20. If the assembler isn't attempting to re-order code then it doesn't need
  21. to know about this (except for #4).
  22.  
  23. >2) In general, chip workarounds are done in the assembler, and this code
  24. >   is just yuckier to deal with
  25.  
  26. I don't know.  I think it is yucker to deal with
  27. MOVE.L D0,(A0+D1*4+12)        # Sort of a 68020 instruction
  28. (move D0 to Mem[A0 + D1*4 + 12], and worse addressing modes exist!)
  29. Or the fact that ADD AX,anything is diffrent from ADD (non-AX-reg),anything.
  30. And that only some addressing modes are available on some OPs.
  31.  
  32. Or at least about as yucky.
  33.  
  34. >3) branches have limited scope (on SPARC, you get only 22 bits in the branch
  35. >   instruction). It is reasonable to leave a check in the assembler to detect
  36. >   branches to targets that are larger than the displacement will allow.
  37.  
  38. Branches on most boxes have limited scope.  However JUMPs and CALLs on
  39. RISCs have limited scope (for the immediate mode instructions) if you need to
  40. deal with external linkage then this could be a problem.  If not it is no
  41. harder then the Bcc OPs on the 680x0 (or 6502!).
  42.  
  43. >4) Code to check architectural correctness (try doing something illegal
  44. >   with the SPARC assembler - if it sqawks, then someone had to write the code 
  45. >   to do the check). This is very important, because the machine will not always
  46. >   execute "arbitrary assembly language". 
  47.  
  48. Yes, but it is also hard for CISC assemblers to support a whole family of
  49. similar CPUs (68020 has more addressing modes then the 68000, the 80386
  50. supports WAY more instructions in 32bit mode then the 8086...).  However I
  51. think the CISC assemblers do this easyer then RISCs do #4.
  52.  
  53. >There may be others, these are the only ones that come to mind right now. 
  54.  
  55. Could be, however I think that unless you try to make the RISC assembler
  56. optimise they are both about as hard to write (and if you make the CISC
  57. assembler opt. also, then I don't know which is simpler!).
  58. [...]
  59. -- 
  60.            stripes@pix.com              "Security for Unix is like
  61.       Josh_Osborne@Real_World,The          Multitasking for MS-DOS"
  62.       "The dyslexic porgramer"                  - Kevin Lockwood
  63. We all agree on the necessity of compromise.  We just can't agree on
  64. when it's necessary to compromise.       - Larry Wall
  65.