tw0848.pp 334 B

12345678910111213141516171819202122232425262728
  1. {$ASMMODE INTEL}
  2. PROCEDURE a;
  3. VAR v,v2,v3:integer;
  4. PROCEDURE b;assembler;
  5. ASM
  6. MOV AX,v
  7. mov v2,AX
  8. mov EDI,0
  9. MOV AX,[EDI+v]
  10. MOV AX,[EBP+OFFSET v]
  11. MOV v3,AX
  12. END;
  13. BEGIN
  14. v:=5;
  15. v2:=4;
  16. v3:=0;
  17. b;
  18. if (v2<>v) or (v3<>v) then
  19. Halt(1);
  20. END;
  21. begin
  22. a;
  23. Writeln('Program works');
  24. end.