tw0735.pp 325 B

1234567891011121314151617181920212223242526
  1. { %CPU=i386 }
  2. {$asmmode intel}
  3. {$inline on}
  4. procedure DoIt;
  5. begin
  6. Writeln('DoIt was called');
  7. end;
  8. const
  9. CB : word = 5;
  10. procedure A(B: word); assembler; inline;
  11. asm
  12. MOV AX,B
  13. CMP AX,[CB]
  14. JZ @OK
  15. MOV [CB],AX
  16. CALL DoIt
  17. @OK: { <-- creates labels with same name }
  18. end;
  19. begin
  20. A(5);
  21. A(8);
  22. end.