|  V cem mohu zkompilovat tento zdrojak? 
 
uses crt; 
var a,b,s,r:integer; 
begin 
 clrscr;      {vymaž obrazovku} 
 write (\'a=\'); 
 readln(a);   {vstup hodnoty a} 
 write (\'b=\'); 
 readln(b);   {vstup hodnoty b} 
 asm          {začátek bloku asm} 
  MOV AX, a   {do AX vlož hodnotu proměnné a (z paměti)} 
  ADD AX,b    {k AX přičti hodnotu proměnné b} 
  MOV s, AX   {do proměnné s vlož součet z registru AX} 
  MOV AX,a    {znovu naber a} 
  SUB AX,b    {odečti od AX hodnotu b} 
  MOV r,AX    {do proměnné r vlož rozdíl z registru AX} 
  INC a       {k a přičti 1} 
  DEC b       {od b odečti 1} 
 end;         {konec bloku asm} 
 writeln (\'a+b=\',s,\' a-b=\',r);{vypiš obsahy proměnných} 
 writeln (\'a+1=\',a,\' b-1=\',b); 
 readln; 
end. (odpovědět) |  | Pas | 87.236.199.* | 9.11.2006 22:38 |  
  |  
  |  
  | 
 | 
 |  je to pascal, akorat ze sou tam syntakticky chyby - escapnuty '. to budes muset poopravovat. ale na to prijdes... (odpovědět) |  | axis | 82.208.10.16/62.84.132.* | 10.11.2006 6:07 |  
  |  
  |  
  | 
 |  jo a jeste ti na zacatku chybi radek "program <jmenoprogramu>;" a dalsi vec je ze se tam pouziva vlozenej asm, coz nevim jestli chodi pod jinejma kompilatorama nez pod borlandim turbo pascalem. (odpovědět) |  | axis | 82.208.10.16/62.84.132.* | 10.11.2006 6:47 |  
  |  
  |  
  | 
 |  axis: radek program <jmenoprogramu> je nepovinny, takze mu tam nechybi a navic si dovolim optimalizaci, nerad vidim plytvani systemovymi zdroji: 
 
var 
a,b,s,r : integer; 
 
begin 
asm 
mov ax, 03h 
int 10h {vymaž obrazovku} 
end; 
 
write ('a='); 
readln(a); {vstup hodnoty a} 
write ('b='); 
readln(b); {vstup hodnoty b} 
asm {začátek bloku asm} 
MOV AX, a {do AX vlož hodnotu proměnné a (z paměti)} 
ADD AX,b {k AX přičti hodnotu proměnné b} 
MOV s, AX {do proměnné s vlož součet z registru AX} 
MOV AX,a {znovu naber a} 
SUB AX,b {odečti od AX hodnotu b} 
MOV r,AX {do proměnné r vlož rozdíl z registru AX} 
INC a {k a přičti 1} 
DEC b {od b odečti 1} 
end; {konec bloku asm} 
writeln ('a+b=',s,' a-b=',r);{vypiš obsahy proměnných} 
writeln ('a+1=',a,' b-1=',b); 
readln; 
end.  
 
Zkompilovat v Turbo Pascal 6 nebo jeste lepe v Turbo Pascal 7. Program bude 16-ti bitovy a pobezi v Real mode. (Vypisovani textu a cekani na klavesu lze rovnez prepsat do ASM). 
 
Tento zdrojak pujde zkompilovat i v ostatnich kompilatorech pascalu, ktere podporuji inline asm s Intel syntaxi, ovsem pod Linuxem budou problemy s int 10h (preruseni VGA) tzn. tam to skonci napisem Segmentation Fault ! A nebo to muze vyhodit General protection failure (Runtime error 216)  (odpovědět) |   |  
  |  
  | 
 |  muzu se jenom zeptat, proc se tam operuje s asm ? (odpovědět) |  Nostur |   |   |   |   335772190 | 10.11.2006 18:16 |  
  |  
  |  
  | 
 |  Neni to nejakej ucebni text? A ten asm tam neni na ukazku? (odpovědět) |  | pr0ph3t (nechce se mi logovat) | 62.245.120.* | 10.11.2006 22:43 |  
  |  
  |  
  | 
 |  vypada to fakt jako studijni material. takze od toho ruce pryc, neuc se pascal, ale nejakej dobrej programovaci jazyk... doporucuju ansi c nebo c++ (odpovědět) |  | dayvee. | 62.177.92.* | 11.11.2006 11:55 |  
  |  
  |  
  | 
 |  Ano, je to studijni text, jelikoz se ucim vkladany asm. 
 
Freez: Diky moc, psal jsi ze to zkompiluju v TB7 i v jinych kompilatorech pascalu. Jake jsou ty \"jine\"? Zkousel jsem freepascal, ale ten se tvaril jako ze nezna asm. 
 
Predem diky za odpoved. (odpovědět) |  | Pas | 87.236.199.* | 11.11.2006 12:03 |  
  |  
  |  
  | 
 |  Dodatek: Zkousel jsem to zkopilovat v i v Dev-Pascalu, ale hlasilo to: 
 
unknown identifier: AX, H a dalsi chyby... je to vubec mozne v Dev-Pascalu zkompilovat? (odpovědět) |  | Pas | 87.236.199.* | 11.11.2006 12:05 |  
  |  
  |  
  | 
 |  Dodatek2: Tak ted jsem si stahnul i Turbo Pascal 5.5 a kdyz jsem chtel zdrojak zkomplilovat (tpc program.pas), ohlasilo to chybu: asm, unknown identifier:/ (odpovědět) |  | Pas | 87.236.199.* | 11.11.2006 12:40 |  
  |  
  |  
  | 
 |  Pas: Nez neco zacnes kompilovat tak si nastav kompilator. Ve freepascalu je potreba nastavit ze uzivas assembler s Intel syntaxi, mozna bude potreba zapnout TP7 compatibilty a s nejvetsi pravdepodobnosti budes muset upravit kod, protoze registry ax, bx, cx, dx, ... jsou 16-ti bitove no a FPC je 32-bitovy, takze to bude eax, ebx, ecx, edx, ... 
 
IMHO a,b,s,r musi byt Word a ne Integer. V FPC misto mov ax, 03h int 10h pouzij stare zname ClrScr. To same bude v Delphi, TMT Pascal, atp.  
 
Kompilatoru pascalu je dostatecne mnozstvi, FPC je vyspelejsi nez C i C++ dohromady. C/C++ nejsou RAD, zatimco FPC+Lazarus/Delphi RAD jsou. Kdejaky idiot ti bude tvrdit, ze pascal je k nicemu, jenze je zpusobeno tim, ze malokdo vi co v nem lze napsat a o kolik efektivnejsi bude napr. tvorba IDE v Delphi nez v C++. Tim castecne reaguji na vyplod od dayvee, ktery jeste asi v Pascalu nikdy nenapsal neco o delce vetsi, nez 10 000 lines  (odpovědět) |   |  
  |  
  | 
 |  Zkousel jsem to zkompilovat takto: 
 
fpc -Mtp -Op1 program.pas 
 
ale stale neuspesne, poradite mi pls jak mam presne freepascal nastavit, aby mi tento zdrojak bez problemu zkompiloval? Dekuji. (odpovědět) |  | Pas | 87.236.199.* | 11.11.2006 20:07 |  
  |  
  |  
  | 
 |  Tak podivej se, puvodni verze (to nahore) je zdrojak pro Turbo Pascal, ve kterem take funguje.  
 
To ti ale nestaci a chces to zkompilovat ve vsech kompilatorech pascalu o kterych se dozvis. Jeste ti nedoslo, ze kod se musi vzdy drobne upravit, aby sel zkompilovat v jinem prekladaci ? Precetl sis vubec me reakce ? Jaky mas duvod 16-ti bitovy kod kompilovat ve 32-bitovem prekladaci a naivne si myslet, ze to pujde bez uprav? 
 
Kdyz by to bylo psano pro vice platforem, tak by to slo zkompilovat v pohode a bez uprav, ale NENI ! 
 
Pro vice informaci UTFG a taky RTFM a hledej rozdily mezi jednotlivymi kompilatory, jazyky, atp. Na zaver si zjisti co jsou to direktivy kompilatoru a proc se pouzivaji ve zdrojacich, ktere jdou pote bez uprav zkompilovat vsude. (odpovědět) |   |  
  |  
  |