ts010024.pp 509 B

12345678910111213141516171819202122232425262728293031323334
  1. {$asmmode att}
  2. const
  3. Count=100;
  4. type
  5. trec=record
  6. a,b,c : longint;
  7. end;
  8. var
  9. r : trec;
  10. begin
  11. asm
  12. leal r,%edi
  13. leal r,%esi
  14. movl %es:46(%edi),%eax
  15. movl 2+trec.b(%esi),%eax
  16. movl $1,%ebx
  17. movl trec.b(%esi,%ebx,(2*4)),%eax
  18. movl r(,%ebx,(2*4)),%eax
  19. xorl %esi,%esi
  20. movl r.c(,%esi,(2*4)),%eax
  21. movl Count,%eax
  22. movl Count*100,%eax
  23. movl trec.b+2,%eax
  24. leal r,%esi
  25. movl trec.b+2(%esi),%eax
  26. {$ifdef go32v2}
  27. movl %fs:(0x46c),%eax
  28. {$endif}
  29. end;
  30. end.