16.05.2015 Views

Programowanie w C++ Borland Builder - Wyższa Szkoła Informatyki ...

Programowanie w C++ Borland Builder - Wyższa Szkoła Informatyki ...

Programowanie w C++ Borland Builder - Wyższa Szkoła Informatyki ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Funkcja wyswietl() musi uzyskać dostęp do przekazanych jej<br />

argumentówów. Odwołamy się do zmiennych <strong>C++</strong> w taki sposób, jak<br />

robiłaby to każda inna funkcja w <strong>C++</strong>:<br />

[P063.CPP]<br />

# pragma inline<br />

void wyswietl(char, char); //Prototyp funkcji<br />

void main()<br />

{<br />

_AH = 2; //BEEEEE !<br />

wyswietl('A', 'B'); //Wywolanie funkcji<br />

}<br />

void wyswietl(char x, char y) //Definicja (implementacja)<br />

{<br />

_DH = 0; // To <strong>C++</strong> nie TASM, to samo, co asm MOV DH, 0<br />

_DL = x; // asm MOV DL, x<br />

asm INT 33<br />

_DH = 0; // asm MOV DH, 0<br />

_DL = y; // asm MOV DL, y<br />

asm INT 33<br />

}<br />

Aby pokazać jak dalece BORLAND <strong>C++</strong> jest elastyczny wymieszaliśmy<br />

tu w jednaj funkcji instrukcje <strong>C++</strong> (wykorzystując pseudozmienne)<br />

i instrukcje assemblera. Może tylko przesadziliśmy trochę<br />

ustawiając rejestr AH - numer funkcji DOS dla przerywania int 33<br />

przed wywołaniem funkcji wyswietl() w programie głównym. To<br />

brzydka praktyka (ozn. //BEEEE), której autor nie zaleca.<br />

Jak widzisz, przekazanie parametrów jest proste.<br />

- 174-

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!