Jump to content
Sign in to follow this  
Cafeman

Tasm vs Dasm assembler question

Recommended Posts

When I coded 5200 Koffi, I often used this neat little expression:

 

lda #<DLIRoutine

sta VDLI

lda #>DLIRoutine

sta VDLI+1

 

It seems that Tasm doesn't support this feature. So my question -- does anyone know how to do the same thing in Tasm? Adv II's code is already customized for Tasm and I've been trying to stick to using Tasm.

Share this post


Link to post
Share on other sites

I think you have to do it like...

  lda #(DLIRoutine & $FF); get low byte of the DLI routine

  sta VDLI



  lda #(DLIRoutine >>8); get the high byte of the DLI routine

  sta VDLI+1

Share this post


Link to post
Share on other sites

lda (DLIRoutine & $FF)

...takes the address for DLIRoutine (lets say it's $4315) and does an and of $FF to mask the upper byte so you end up with $15

 

lda (DLIRoutine >>8)

...takes the address for DLIRoutine and right shifts it 8 bits so you end up with $43

Share this post


Link to post
Share on other sites

Thanks, that does make sense after all. I've been using ORG's in the meantime, but this way is better.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...