TASM5.0 - turning off certain optimiz.. 
Author Message
 TASM5.0 - turning off certain optimiz..

Hello,
  I'm trying to force TASM5.0 to not optimize the following code:

jmp far ptr some_addr

I have the .386p option set.

It makes the call a near jump 8-bit displacement.  I don't want that.  I
want the byte codes that trnaslate to a jump to an absolute address (i.e,
jmp ptr16:16).. any ideas?  Otherwise, TASM generates EA <rel8> 90 90 90
replacing the 3 bytes that mkae up the abs. address with NOPs.  

Another question concerning TASM5.0:  why doesn't tasm assemble the
folloiwng code: call far ptr 5000h:deadh ?  It complains about the
operands (of course).  I want to force tasm to generate the followng code:
9a cd xx xx xx xx where xx are replaced by components of seg:offset
address.

Thanks.
Tom



Tue, 01 May 2001 03:00:00 GMT  
 TASM5.0 - turning off certain optimiz..


Quote:
>Hello,
>  I'm trying to force TASM5.0 to not optimize the following code:

>jmp far ptr some_addr

>I have the .386p option set.

>It makes the call a near jump 8-bit displacement.  I don't want that.
I
>want the byte codes that trnaslate to a jump to an absolute address
(i.e,
>jmp ptr16:16).. any ideas?  Otherwise, TASM generates EA <rel8> 90 90
90
>replacing the 3 bytes that mkae up the abs. address with NOPs.

- I think it's the NOJUMPS option

Quote:
>Another question concerning TASM5.0:  why doesn't tasm assemble the
>folloiwng code: call far ptr 5000h:deadh ?

- try call far ptr 500h:0deadh
- the leading zero tells tasm deadh is a number not a symbol


Wed, 02 May 2001 03:00:00 GMT  
 TASM5.0 - turning off certain optimiz..
Quote:

> Hello,
>   I'm trying to force TASM5.0 to not optimize the following code:

> jmp far ptr some_addr

> I have the .386p option set.

> It makes the call a near jump 8-bit displacement.  I don't want that.  I
> want the byte codes that trnaslate to a jump to an absolute address (i.e,
> jmp ptr16:16).. any ideas?  Otherwise, TASM generates EA <rel8> 90 90 90
> replacing the 3 bytes that mkae up the abs. address with NOPs.

> Another question concerning TASM5.0:  why doesn't tasm assemble the
> folloiwng code: call far ptr 5000h:deadh ?  It complains about the
> operands (of course).  I want to force tasm to generate the followng code:
> 9a cd xx xx xx xx where xx are replaced by components of seg:offset
> address.

> Thanks.
> Tom

I have found the easiest way to fource a jump far is with a macro as
followes;

JMPF    MACRO   offset, segment
        db      0EAh
        dw      offset
        dw      segment
        ENDM

where you program would look something like this;

        JMPF    16,16

tha macro will fill in the desired opcodes.

The call far can be accomplished much the same way with;

CALLF   MACRO   offset, segment
        db      09Ah
        dw      offset
        dw      segment
        ENDM

where you would use;

        CALLF   5000h,deadh

You can also do;

        mov     Word Ptr FAR_CALL,offset
        mov     Word Ptr FAR_CALL+2,segment
        ...
        call    DWord Ptr FAR_CALL

Where FAR_CALL is;

FAR_CALL        dd      ?

Frank



Wed, 02 May 2001 03:00:00 GMT  
 TASM5.0 - turning off certain optimiz..

Quote:
>Tom

second year studier replies to Tom:

the new systems use ASM as an inline subroutine.  Its only initiated when
its needed.  To turn off certain optimizers you'll have to go through the
bios? or through system.ini's!  Great Idea though.......! man what a fast
was to change disk drives!  MOV far_ptr !  How about
XLATE  device,device?>



Sat, 05 May 2001 03:00:00 GMT  
 
 [ 4 post ] 

 Relevant Pages 

1. turning off backdrop ?

2. Turn Computer off with RB

3. RTF - Can't turn off ISDIRTY=TRUE

4. Turning off pc speaker

5. Turn off mask for browse...

6. Turn off right click popup

7. CW55 turn off list control marking

8. Turn off AutoInc outside a form???

9. Turning off flat button option - where is it??

10. XP turning off backing up files afer I/O

11. How do you turn off Progress screen in C4 ABC

12. Turning F1 off

 

 
Powered by phpBB® Forum Software