function calcula_produto(a, b : real) : real; begin calcula_produto := a * b; end; begin writeln(calcula_produto(5,4)); end.
{$i arquivo.inc}
function calcula_produto(a, b : real) : real; begin calcula_produto := a * b; end;
{$i calcula.inc} begin writeln(calcula_produto(5,4)); end.
Códigos em separado | Código unificado equivalente |
---|---|
Arquivo: calcula.inc
function calcula_produto(a, b : real) : real; begin calcula_produto := a * b; end; Arquivo: formula.inc {$i calcula.inc} function formula(a, b, c : real) : real; begin formula := calcula_produto(a,b) + c; end; Arquivo: main.pas {$i calcula.inc} {$i formula.inc} begin writeln('Produto entre 5 e 4: ', calcula_produto(5, 4):2:1); writeln('O resultado da formula: ', formula(5, 4, 3):2:1); end. |
Arquivo: main.pas
function calcula_produto(a, b : real) : real; begin calcula_produto := a * b; end; function calcula_produto(a, b : real) : real; begin calcula_produto := a * b; end; function formula(a, b, c : real) : real; begin formula := calcula_produto(a,b) + c; end; begin writeln('Produto entre 5 e 4: ', calcula_produto(5, 4):2:1); writeln('O resultado da formula: ', formula(5, 4, 3):2:1); end. |
Códigos em separado | Código unificado equivalente |
---|---|
Arquivo: calcula.inc
function calcula_produto(a, b : real) : real; begin calcula_produto := a * b; end; Arquivo: formula.inc function formula(a, b, c : real) : real; begin formula := calcula_produto(a,b) + c; end; Arquivo: main.pas {$i calcula.inc} {$i formula.inc} begin writeln('Produto entre 5 e 4: ', calcula_produto(5, 4):2:1); writeln('O resultado da formula: ', formula(5, 4, 3):2:1); end. |
Arquivo: main.pas
function calcula_produto(a, b : real) : real; begin calcula_produto := a * b; end; function formula(a, b, c : real) : real; begin formula := calcula_produto(a,b) + c; end; begin writeln('Produto entre 5 e 4: ', calcula_produto(5, 4):2:1); writeln('O resultado da formula: ', formula(5, 4, 3):2:1); end. |
Procedure Box(StartX,StartY,EndX,EndY:Integer;LogOp:Byte); Var LOGOPER :Byte ABsolute $f570; Begin LOGOPER := LogOp; Inline ( $f3/ $2a/EndX/ { LD HL,(STARTX) } $22/$B3/$FC/ { LD ($FCB3),HL } $2a/EndY/ $22/$b5/$fc/ $ed/$4b/StartX/ { LD BC,(ENDX) } $ed/$5b/StartY { LD DE,(ENDY) } /$fd/$2a/$f7/$fa { LD IY,(EXbrsa - 1 } /$DD/$21/$c9/$00 { LD IX,dobox } /$CD/$1c/00 { CALL CALSLT } /$fb ); LOGOPER := 0; End; { Box }Ele contém um procedimento chamado "Box", no qual inclui um código em Assembly para desenhar uma "caixa" na tela gráfica do MSX. Ela faz uso do comando "inline" para introduzir códigos em Assembly (código de máquina e não mnemônicos, como aqueles que aparecem ao lado das instruções só como comentário).
{$i screen.inc} {$i box.inc} begin Screen(5); Box(0,0,100,100,0); repeat until Keypressed; Screen(0); end.
Box( 0, { Coordenada X inicial } 0, { Coordenada Y inicial } 100, { Coordenada X final } 100, { Coordenada Y final } 0); { Operação lógica }
<< Anterior | Pascal | Próxima >> |