tasmread.pp 579 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. { Checks for qualified variable support
  2. in assembler reader }
  3. program test;
  4. {$ifdef cpui386}
  5. {$asmmode intel}
  6. {$endif}
  7. var l: longint;
  8. begin
  9. {$ifdef cpui386}
  10. asm
  11. {$ifndef FPC_PIC}
  12. mov test.l, 5
  13. {$else FPC_PIC}
  14. call @@LPIC
  15. @@LPIC:
  16. pop ecx
  17. {$ifdef darwin}
  18. mov [test.l-@@LPIC+ecx],5
  19. {$else darwin}
  20. add ecx, @_GLOBAL_OFFSET_TABLE_
  21. mov [ecx].OFFSET test.l,5
  22. {$endif darwin}
  23. {$endif FPC_PIC}
  24. end;
  25. {$endif cpui386}
  26. {$ifdef cpu68k}
  27. asm
  28. move.l test.l,d0
  29. end;
  30. {$endif cpu68k}
  31. {$ifdef arm}
  32. asm
  33. ld r0,test.l
  34. end;
  35. {$endif arm}
  36. end.