Asembler w C++ builder

dział ogólny

Asembler w C++ builder

Nowy postprzez sebaskow » poniedziałek, 23 stycznia 2012, 20:01

Mam pytanie związane z wstawkami asemblerowymi.

W jaki sposób wykonuje się przerwania.
KOD cpp:     UKRYJ  
_asm
{
     mov ah, 0x2c;
     int 0x21;
}
 


No i to przerwanie int nie kompiluje się. Nie wiem jakiego używa się słowa kluczowego dla kompilatora.


Pozdrawiam
Avatar użytkownika
sebaskow
Intelektryk
Intelektryk
 
Posty: 135
Dołączył(a): wtorek, 3 maja 2011, 08:30
Lokalizacja: Katowice
Podziękował : 10
Otrzymał podziękowań: 0
System operacyjny: Windows 10
Kompilator: C++ Builder XE7
Gadu Gadu: 0
    Windows XPChrome

Re: Asembler w C++ builder

Nowy postprzez polymorphism » poniedziałek, 23 stycznia 2012, 20:07

Co Ty, chcesz pod windowsem przerwania DOS-owe wywoływać? Po co?
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: Asembler w C++ builder

Nowy postprzez sebaskow » poniedziałek, 23 stycznia 2012, 21:36

W sumie bez żadnej potrzeby. Chcę się uczyć.
Avatar użytkownika
sebaskow
Intelektryk
Intelektryk
 
Posty: 135
Dołączył(a): wtorek, 3 maja 2011, 08:30
Lokalizacja: Katowice
Podziękował : 10
Otrzymał podziękowań: 0
System operacyjny: Windows 10
Kompilator: C++ Builder XE7
Gadu Gadu: 0
    Windows XPChrome

Re: Asembler w C++ builder

Nowy postprzez polymorphism » poniedziałek, 23 stycznia 2012, 22:27

W programach windowsowych pracujących w trybie użytkownika przerwania nie mają racji bytu. Masz API systemowe, które daje Ci wszystko to, co ma do zaoferowania system operacyjny.
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: Asembler w C++ builder

Nowy postprzez sebaskow » środa, 25 stycznia 2012, 09:07

Nie miałem pojęcia. Dziękuję za odpowiedź.

W takim razie po co nam wstawki asemblerowe w c lub w c++ co one dają ?
Avatar użytkownika
sebaskow
Intelektryk
Intelektryk
 
Posty: 135
Dołączył(a): wtorek, 3 maja 2011, 08:30
Lokalizacja: Katowice
Podziękował : 10
Otrzymał podziękowań: 0
System operacyjny: Windows 10
Kompilator: C++ Builder XE7
Gadu Gadu: 0
    Windows XPChrome

Re: Asembler w C++ builder

Nowy postprzez polymorphism » środa, 25 stycznia 2012, 12:03

Kiedyś te wstawki pozwalały optymalizować kod na najniższym poziomie... piszę kiedyś, ale nawet teraz możesz to robić. Tylko czy gra warta świeczki? Dzisiejsze maszyny, ich wydajność, kompilatory uwalniają programistę od walki o każdy takt CPU, mikrosekundę. W 99,9% przypadków wystarczającą optymalizacją będzie dobranie odpowiedniego algorytmu do zadania, czyli mowa o optymalizacji na wyższym poziomie, którą możesz spokojnie przeprowadzić z poziomu C++ czy innego języka wysokiego poziomu. Oczywiście są sytuacje, kiedy zaimplementowanie pewnych procedur w asemblerze jest jedyną drogą do przyśpieszenia ich działania, szczególnie, że możesz wtedy korzystać z instrukcji MMX czy SSE. Przykładem mogą być procedury wykonujące wszelkiej maści operacje rastrowe (np. skalowanie, przekształcanie, zniekształcanie bitmap).
C++ Reference - opis wszystkich klas STL-a i funkcji C.
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: Asembler w C++ builder

Nowy postprzez sebaskow » środa, 25 stycznia 2012, 23:17

Dziękuję za wyczerpującą odpowiedź.
Szczerze mówiąc wiązałem większe nadzieje w związku z tak owianym sławą asemblerem.

Pozdrawiam.
Avatar użytkownika
sebaskow
Intelektryk
Intelektryk
 
Posty: 135
Dołączył(a): wtorek, 3 maja 2011, 08:30
Lokalizacja: Katowice
Podziękował : 10
Otrzymał podziękowań: 0
System operacyjny: Windows 10
Kompilator: C++ Builder XE7
Gadu Gadu: 0
    Windows XPChrome


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 6 gości