Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!lll-crg!lll-lcc!qantel!ihnp4!gargoyle!sphinx!cjdb From: cjdb@sphinx.UChicago.UUCP (Charles Blair) Newsgroups: net.micro.pc Subject: A peculiar MASM problem Message-ID: <644@sphinx.UChicago.UUCP> Date: Wed, 24-Sep-86 22:06:44 EDT Article-I.D.: sphinx.644 Posted: Wed Sep 24 22:06:44 1986 Date-Received: Fri, 26-Sep-86 01:01:00 EDT Distribution: na Organization: U. Chicago Computation Center Lines: 37 Keywords: Push/pop I can't think of a better place to request help on the following problem, so here goes. I have been working on an 8086 assembler problem that has seven source files. I installed push/pop in it and have been using it for a while without problems. For greater ease of maintenance, I broke one module into two. Since then, push only works the first time it is invoked, not the second and subsequent times; I've determined that the push proc is being called, but it seems to return to the caller without executing any of the code. From then on the program seems to work fine: it doesn't hang. However, if executing the program from SYMDEB, I have no problems pushing to the exec as many times as I want (so the debugger per se is useless in helping me to localize the problem). Also, if I run the program as a child of itself (i.e., push out of it the first time, then reload it), I also have no problems pushing out at will. But when I exit to DOS and then exit back to the parent, again I can't push, since I've already pushed once. One final observation: if I eliminate one of the source files in the link step (and I've tried it with three files in turn, with the same result), push/pop again works fine, every time. I've looked at the obvious, like not terminating data segments properly, not deallocating too much memory before pushing, and so on. Clearly, I can't expect any reader of this to help me on the basis of the short description of the problem I have given, unless such a reader has encountered a similar problem. I'd be interested in hearing from any such reader, since I can't formulate a proper hypothesis as to the cause of the problem given the program behavior clues as indicated above. Thanks in advance. -- Charles Blair ..!ihnp4!gargoyle!sphinx!cjdb The University of Chicago lib.cb%chip@UChicago.Bitnet