Dziwne jest to, że proszę o przepis na zupę a wy mi każecie czytać instrukcję kuchenki...
Piszę w realmode ,pewnien program nie ważne do czego... i męczy mnie smarowanie wszystkiego w ASM (fasm) i chcałbym nieco sobie przyśpieszyć pracę pisząc w C, a tu taki zonk...Proxima masz rację kod który mi generuje Turbo C jest bardzo szybki i faktycznie 16 bitowy, nie znalazłem lepszego kompilatora.. ale Open Watcom... muszę sprawdzić.
Azarien:
//char znak = 'A';
znak jest charem A
char znak[] = "A"
znak jest wskaźnikiem na dwa znaki, A i \0//
po części masz rację jednakże w obu przypadkach są to wskaźnik, znak nigdy nie będzie A bo w każdej chwili może być B, to po prostu adres do tej zmiennej i z char znak[] jest tak samo przy czym ten drugi wskazuje na ciąg znaków zakończonych właśnie \0.
dlatego właśnie w asmie wpisałem coś takiego
mov al,byte[znak] ; chciałem aby tutaj został pobrany pierwszy bajt spod tego adresu i przeniesiony do al
a nie coś takiego:
mov al,znak coś takiego nawet nie ma prawa działać...
Ma ktoś pomysł na to? chyba sam muszę rozwiązać ten problem... tak jak i poprzednie posty...