Einzelnen Beitrag anzeigen

Ryzinski

Registriert seit: 2. Okt 2012
38 Beiträge
 
#1

x86 ASM => 64 bit

  Alt 6. Okt 2012, 13:08
When converting 32 bit ASM to 64 bits is something i can't convert.

push dword [esi]

Delphi-Quellcode:
function zend_get_parameters(ht: Integer; param_count: Integer;
  Params: array of ppzval): Integer; assembler; register;
asm
  push esi
  mov esi, ecx
  mov ecx, [ebp+8]
  cmp ecx, 0
  je @first
@toploop:
  {$IFDEF VERSION6}
  push [esi][ecx * 4]
  {$ELSE}
  push dword [esi][ecx * 4]
  {$ENDIF}
  loop @toploop
@first:
  push dword [esi]// <<<<<<<<<<<<< Invalid combination of opcode and operands
  push edx
  push eax
  call ZendGetParameters
  mov ecx, [ebp+8]
  add ecx, 3
@toploop2:
  pop edx
  loop @toploop2
  pop esi
end;

Geändert von Ryzinski ( 6. Okt 2012 um 13:16 Uhr)
  Mit Zitat antworten Zitat