@@ -0,0 +1,15 @@
+program test;
+
+procedure Test1;
+var
+ a: Integer;
+ procedure Test2;
+ begin
+ a:= 0;
+ end;
+begin
+end;
+end.
+ var i:integer;
+{$i386_intel}
+{ "mov i,1"
+ is like
+ "mov word ptr [i],1"
+ or
+ movw i,$1 in ATT syntax }
+ asm
+ mov i, 1
+ if i <> 1 then
+ halt(1);
@@ -0,0 +1,24 @@
+{$ifdef win32}
+uses
+ windows;
+{$endif }
+procedure write1( var charbuf:string);
+ Writeln(Charbuf);
+procedure write2( var charbuf:string; attrbuf:array of word);
+var chars : String[82];
+ attrs : array [1..162] of word;
+ Chars := 'Das ist ein Test, den ich gerade schreibe';
+ write1(chars);
+ write2(chars,attrs);
@@ -0,0 +1,23 @@
+{$asmmode intel}
+{$ifdef go32v2}
+ PROCEDURE Cursor(Form: word);assembler;
+ mov cx,word ptr[Form]
+ and cx,1F1Fh
+ mov ah,1
+ int 10h
+{$else not go32v2}
+ { no interrupt call on other targets }
+ procedure cursor(form : word);assembler;
+{$endif go32v2}
+ Cursor($11F);