tbug735.pp 312 B

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