Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!umich!samsung!zaphod.mps.ohio-state.edu!usc!snorkelwacker!ai-lab!mbeck From: mbeck@wheaties.ai.mit.edu (Mark Becker) Newsgroups: comp.sys.ibm.pc.programmer Subject: How to generate JMP FAR 0:0 w/TASM 1.5 + TLINK 1.01 Keywords: assembly language TLINK TASM Borland Message-ID: <6722@crispy-critters.ai.mit.edu> Date: 17 Feb 90 04:07:28 GMT Organization: MIT AI Lab, Cambridge, MA Lines: 53 Hello * If the code below looks odd.. my background is EE and I'm used to assemblers that Do What I Want. Anyway, here's some code. It's supposed to be compiled in tiny model to generate a .COM file. -------------------- farptr LABEL FAR . . vect: JMP farptr revect EQU $-4 . . init: mov ax,352Fh ; Get multiplexed interrupt point. int 21h mov cs:WORD PTR [revect],bx mov cs:WORD PTR [revect+2],es -------------------- I'm using TASM 1.01 and TLINK 1.5. TLINK complains that it can't generate a COM file because there are relocatable items present. Where? This is a segment of a medium-sized TSR I'm writing. There are several references to the label farptr but all of them are to generate the correct binary for a far jump to location 0:0 which is then overwritten to point to the correct place. I can't seem to get TASM to accept an instruction of the form JMP FAR 0 .. TASM outputs an immediate argument error. What am I doing wrong? And if someone can tell me how to get TASM to generate a 16-bit in-segment jump to the next executable statement, I'd like to hear about it. Like: JMP next next: TASM generates offset jumps with NOP fillers.. but thats not what I want. Save net.bandwidth: respond via e-mail. I will summarize. Mark Becker mbeck@ai.mit.edu -- +-----------------------------------------------+-----------------------+ | Mark Becker | .signature under | | Internet: mbeck@ai.mit.edu | construction | +-----------------------------------------------+-----------------------+