tw0848.pp 349 B

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