Path: utzoo!utgpu!water!watmath!clyde!rutgers!rochester!cornell!batcomputer!sun!nelson From: nelson@sun.soe.clarkson.edu (Russ Nelson) Newsgroups: comp.sys.ibm.pc Subject: Re: Microsoft Assembler Message-ID: <271@sun.soe.clarkson.edu> Date: 27 Jan 99 14:33:06 GMT References: <1428@homxb.UUCP> Organization: Clarkson University, Potsdam, NY Lines: 23 In-reply-to: gemini@homxb.UUCP's message of 26 Jan 88 17:39:48 GMT Posting-Front-End: GNU Emacs 18.47.5 of Mon Jan 25 1988 on sun.soe.clarkson.edu (berkeley-unix) In article <1428@homxb.UUCP> gemini@homxb.UUCP (Rick Richardson) writes: ... The UNIX-style assembler is smart enough to use short or long jmp's, as well as to convert conditional jumps that would jump more than 128 bytes to the opposite jump around a long jump. The algorithms for doing this are well known, and easy to implement. I can only assume from the lack of them in MASM 5.0 that the programmers at Microsoft don't feel any pressure from competing products. Maybe if Borland would come out with a Turbo assembler that *did* implement these algorithms, then Microsoft would get on the ball. We could find no way of doing this with the Microsoft 4.0 assembler. The question is: is it possible to get this sort of feature from the Microsoft 5.0 assembler? is it possible to write a macro to do this? or is it just plain not possible with the Microsoft tools? You can hack it up in a gross fashion but only for reverse jumps. Just measure the distance between $ and the target, and issue the appropriate code. Unfortunately, there is no way to detect the usage of this macro (and disable it) with a forward jump, and you will get undefined symbol errors on pass 1. -russ