NO

Author Topic: Can I force PoAsm to generate the abs addressing forms of mov al,ax,eax,rax?  (Read 194 times)

Offline PabloMack

  • Member
  • *
  • Posts: 8
When I try to assemble

mov     al,[0123456789h]

PoAsm complains: warning: Integer value too large for 32 bits.

Supposedly, the special forms mentioned above can use 64-bit absolute addresses.
PoAsm is apparently not using them.

Offline TimoVJL

  • Global Moderator
  • Member
  • *****
  • Posts: 1822
Code: [Select]
mov rax, 0123456789h
mov al, [rax]
May the source be with you

Offline PabloMack

  • Member
  • *
  • Posts: 8
The instructions I am talking about have opcodes A0 ~ A3. You used
different instructions that generate different opcodes:

00000002 48 B8 89 67 45 23 01 00 |            mov     rax, 0123456789h
0000000A 00 00                   |
0000000C 8A 00                   |            mov     al, [rax]

As you can see from the output, the opcodes for the instructions you used
are 48 and 8A. Those are not the instructions I am talking about.  Perhaps
you are meaning to say: "You are right. PoAsm does not support those
instructions and you have to use an alternative way to accomplish the same
thing." What I am trying to do is to understand these instructions with
opcodes A0 ~ A3 as I am writing an assembler to support them. I was
wanting to use PoAsm to verify the correctness of my assembler's output.
« Last Edit: March 15, 2019, 05:39:59 pm by PabloMack »

Offline TimoVJL

  • Global Moderator
  • Member
  • *****
  • Posts: 1822
Quote
Can I force PoAsm to generate the abs addressing forms of mov al,ax,eax,rax?
I just gave another way to do that with poasm.
I know just a little about assemblers, but TLPEView with Zydis plugin need some attention from me.
« Last Edit: March 15, 2019, 06:15:21 pm by TimoVJL »
May the source be with you