mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-12 16:29:21 +02:00
* changes from Olle to get simple programs compiled and assembled
This commit is contained in:
parent
6459b97052
commit
8ad5fe9533
@ -323,7 +323,7 @@ interface
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
Function GetInstruction(hp : tai):string; {CHANGED from methot to proc}
|
Function GetInstruction(hp : tai):string; {CHANGED from method to proc}
|
||||||
var op: TAsmOp;
|
var op: TAsmOp;
|
||||||
s: string;
|
s: string;
|
||||||
i: byte;
|
i: byte;
|
||||||
@ -334,15 +334,15 @@ interface
|
|||||||
begin
|
begin
|
||||||
{ direct BO/BI in op[0] and op[1] not supported, put them in condition! }
|
{ direct BO/BI in op[0] and op[1] not supported, put them in condition! }
|
||||||
case op of
|
case op of
|
||||||
A_B,A_BA,A_BLA:
|
A_BA,A_BLA:
|
||||||
s:=#9+op2str[op]+#9;
|
s:=#9+op2str[op]+#9;
|
||||||
A_BL:
|
A_B,A_BL:
|
||||||
s:=#9+op2str[op]+#9'.';
|
s:=#9+op2str[op]+#9'.';
|
||||||
else
|
else
|
||||||
s:=cond2str(op,taicpu(hp).condition)+',';
|
s:=cond2str(op,taicpu(hp).condition)+',';
|
||||||
end;
|
end;
|
||||||
s:=s+getopstr_jmp(taicpu(hp).oper[0]);
|
s:=s+getopstr_jmp(taicpu(hp).oper[0]);
|
||||||
if op=A_BL then
|
if (op=A_B) or (op=A_BL) then
|
||||||
s:=s+'[PR]';
|
s:=s+'[PR]';
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
@ -753,16 +753,21 @@ interface
|
|||||||
begin
|
begin
|
||||||
AsmWriteLn(#9'export'#9'.'+s+'[PR] => ''.'+tai_symbol(hp).sym.name+'[PR]''');
|
AsmWriteLn(#9'export'#9'.'+s+'[PR] => ''.'+tai_symbol(hp).sym.name+'[PR]''');
|
||||||
AsmWriteLn(#9'export'#9+s+'[DS] => '''+tai_symbol(hp).sym.name+'[DS]''');
|
AsmWriteLn(#9'export'#9+s+'[DS] => '''+tai_symbol(hp).sym.name+'[DS]''');
|
||||||
AsmWriteLn(#9'csect'#9'.'+s+'[PR]');
|
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
AsmWriteLn(#9'export'#9'.'+s+'[PR]');
|
AsmWriteLn(#9'export'#9'.'+s+'[PR]');
|
||||||
AsmWriteLn(#9'export'#9+s+'[DS]');
|
AsmWriteLn(#9'export'#9+s+'[DS]');
|
||||||
AsmWriteLn(#9'csect'#9'.'+s+'[PR]');
|
|
||||||
end;
|
end;
|
||||||
|
{Entry in transition vector: }
|
||||||
|
AsmWriteLn(#9'csect'#9+s+'[DS]');
|
||||||
|
AsmWriteLn(#9'dc.l'#9'.'+s);
|
||||||
|
AsmWriteln(#9'dc.l'#9'TOC[tc0]');
|
||||||
|
{Entry in TOC: }
|
||||||
AsmWriteLn(#9'toc');
|
AsmWriteLn(#9'toc');
|
||||||
AsmWriteLn(#9'tc'#9+s+'[TC],'+s+'[DS]');
|
AsmWriteLn(#9'tc'#9+s+'[TC],'+s+'[DS]');
|
||||||
|
{Start the section of the body of the proc: }
|
||||||
|
AsmWriteLn(#9'csect'#9'.'+s+'[PR]');
|
||||||
AsmWrite('.');
|
AsmWrite('.');
|
||||||
AsmWrite(s);
|
AsmWrite(s);
|
||||||
AsmWriteLn(':');
|
AsmWriteLn(':');
|
||||||
@ -985,7 +990,10 @@ initialization
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.9 2002-10-07 21:19:53 florian
|
Revision 1.10 2002-10-10 19:39:37 florian
|
||||||
|
* changes from Olle to get simple programs compiled and assembled
|
||||||
|
|
||||||
|
Revision 1.9 2002/10/07 21:19:53 florian
|
||||||
* more mpw fixes
|
* more mpw fixes
|
||||||
|
|
||||||
Revision 1.8 2002/10/06 22:46:20 florian
|
Revision 1.8 2002/10/06 22:46:20 florian
|
||||||
@ -1003,4 +1011,4 @@ end.
|
|||||||
Revision 1.1 2002/08/20 21:40:44 florian
|
Revision 1.1 2002/08/20 21:40:44 florian
|
||||||
+ target macos for ppc added
|
+ target macos for ppc added
|
||||||
+ frame work for mpw assembler output
|
+ frame work for mpw assembler output
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user