home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1993 #1 / NN_1993_1.iso / spool / comp / lang / pascal / 7941 < prev    next >
Encoding:
Text File  |  1993-01-07  |  4.2 KB  |  104 lines

  1. Path: sparky!uunet!mcsun!sunic!dkuug!diku!terra
  2. From: terra@diku.dk (Morten Welinder)
  3. Newsgroups: comp.lang.pascal
  4. Subject: BP7 -- five more bugs
  5. Keywords: BP7, bugs
  6. Message-ID: <1993Jan7.153055.3119@odin.diku.dk>
  7. Date: 7 Jan 93 15:30:55 GMT
  8. Sender: terra@embla.diku.dk
  9. Organization: Department of Computer Science, U of Copenhagen
  10. Lines: 92
  11.  
  12. Bug report -- BP7, autosaving.
  13. Bug report -- BP7, Syntax highlighting of "forward".
  14. Bug report -- BP7, Basm, Bound
  15. Bug report -- TD, assembler, incorrect code generation.
  16. Bug report -- TD, single step.
  17.  
  18. The following has been sent to bugs@borland and the Internet
  19. newsgroup comp.lang.pascal.
  20.  
  21.  
  22. 1. Autosaving of editor files fails under certain conditions.
  23. ------------------------------------------------------------
  24.  
  25. First load the file "Test.Pas" and enter "Begin end." in it. Save.
  26. Set primary file to "Test.Pas" and compile. Now load another file,
  27. say "Bug.", and make some changes. Press Ctrl-F9 to run the test
  28. program. Since recompilation is not needed "Bug." IS NOT SAVED.
  29.  
  30. Aside from loosing changes this poses a problem when the file in
  31. question is used by the program.
  32.  
  33.  
  34. 2. Syntax highlighting fails for "forward".
  35. ------------------------------------------
  36.  
  37. "Forward" is highlighted as a reserved identifier. It isn't.
  38.  
  39.  
  40. 3. BASM does not allow word sized second operand for Bound.
  41. ----------------------------------------------------------
  42.  
  43. The following is illegal in Basm:
  44. {$G+}
  45. Begin
  46.   Asm Bound Ax,[Word Ptr Es:Si]
  47.   End;
  48. End.
  49. This is Tasm syntax. Changing "Word" to "Dword" makes all go well,
  50. but that's Masm syntax.
  51.  
  52.  
  53. 4. The assembler of Turbo Debugger has a large number of bugs.
  54. -------------------------------------------------------------
  55.  
  56. The assembler can be expected to work correctly for the 8086
  57. instruction set only. The disassembler works though so one is warned
  58. when the assembler fails. In generel 32 bit addressing and
  59. operandless fpu instructions fail. Try assembling the following
  60. (with language=Asm):
  61.  
  62. Instruction                         Remark
  63. ------------------------------------------------------------------------
  64. Bound    Ax,[Cs:100]                Cs: is ignored.
  65. Bound    Eax,[100]                  Op32 prefix is ignored.
  66. Bound    Ax,[Esi]                   Strange operand appears.
  67. Shld     [Esi],Eax,1                1 is changed to 0.
  68. Sub      [Byte ptr Esi],1           1 is changed to 0.
  69. Jecxz    100                        System crashed, (Td386 reports
  70.                                     an exception 0Dh)
  71. Bt       [Dword ptr Esi],1fh        1fh is changed to 0, Dword to Word.
  72. Fucom    <anything>                 Always reports "invalid operand(s)".
  73. Fucomp   <anything>                 Always reports "invalid operand(s)".
  74. Fucompp  <anything>                 Always reports "invalid operand(s)".
  75. Fxch                                Doesn't work without explicit op.
  76. Fcom                                Generates an Fcomp instruction.
  77.                                     [Fadd now correctly generates a
  78.                                     Faddp instruction, but Fcom should
  79.                                     not add the p suffix.]
  80. Fcomp                               Generates an Fcompp instruction.
  81. Add      Ax,[Cs:Esi+4*Edi]          Is not allowed though both
  82.                                     "[Cs:Edi]" and "[Esi+4*Edi]" are.
  83. Lock Add Cs:[Esi+2*Edi+11111111],   Produces garbage error message.
  84.          22222222
  85. Lock Add Cs:[Esi+2*Edi+11111111],22 Produces "Path not found"!
  86.  
  87.  
  88. 5. Turbo Debugger fails to single step Into, Bound, Idiv, and Div.
  89. -----------------------------------------------------------------
  90.  
  91. Alt-F7 is supposed to single step but fails when the above instructions
  92. generate exceptions. Also Ctrl-F cannot be used to find the handlers.
  93.  
  94.  
  95. ------------------------------------------------------------------------
  96. Visit the lyrics archive at ftp.cs.uwp (mirrored to nic.funet.fi, a site
  97. in Finland). All kinds of lyrics available -- upload "yours" and join.
  98. ------------------------------------------Morten Welinder, terra@diku.dk
  99. -- 
  100. ------------------------------------------------------------------------
  101. Visit the lyrics archive at ftp.cs.uwp (mirrored to nic.funet.fi, a site
  102. in Finland). All kinds of lyrics available -- upload "yours" and join.
  103. ------------------------------------------Morten Welinder, terra@diku.dk
  104.