fpc/tests/test/tasm11b.pp
nickysn 0fb79946a5 + added support for the parameterized versions of the x86 string instructions
(movs, cmps, scas, lods, stos, ins, outs) in the inline asm of the i8086, i386
  and x86_64 targets. Both intel and at&t syntax is supported.
* NEC V20/V30 instruction 'ins' (available only on the i8086 target, because it
  is incompatible with 386+ instructions) renamed 'nec_ins', to avoid conflict
  with the 186+ 'ins' instruction.

git-svn-id: trunk@37446 -
2017-10-12 00:07:02 +00:00

86 lines
1.1 KiB
ObjectPascal

{ %CPU=i386 }
{ %NORUN }
{$asmmode att}
begin
asm
movsb
movsw
movsl
cmpsb
cmpsw
cmpsl
scasb
scasw
scasl
lodsb
lodsw
lodsl
stosb
stosw
stosl
insb
insw
insl
outsb
outsw
outsl
movsb (%esi), (%edi)
movsb (%si), (%di)
movsw (%esi), (%edi)
movsw (%si), (%di)
movsl (%esi), (%edi)
movsl (%si), (%di)
cmpsb (%edi), (%esi)
cmpsb (%di), (%si)
cmpsw (%edi), (%esi)
cmpsw (%di), (%si)
cmpsl (%edi), (%esi)
cmpsl (%di), (%si)
scasb (%edi)
scasb (%di)
scasw (%edi)
scasw (%di)
scasl (%edi)
scasl (%di)
lodsb (%esi)
lodsb (%si)
lodsw (%esi)
lodsw (%si)
lodsl (%esi)
lodsl (%si)
stosb (%edi)
stosb (%di)
stosw (%edi)
stosw (%di)
stosl (%edi)
stosl (%di)
insb %dx,(%edi)
insb %dx,(%di)
insw %dx,(%edi)
insw %dx,(%di)
insl %dx,(%edi)
insl %dx,(%di)
outsb (%esi),%dx
outsb (%si),%dx
outsw (%esi),%dx
outsw (%si),%dx
outsl (%esi),%dx
outsl (%si),%dx
end;
end.