Kod asm na inline asm
Ostatnio zmodyfikowano 2015-12-03 09:57
Szustarol Temat założony przez niniejszego użytkownika |
Kod asm na inline asm » 2015-12-02 19:52:02 Witam, mam taki oto kod w ASM (dopiero się uczę) i chciałbym ucząc się asemblera od razu zacząć także inline .386 .model flat, stdcall option casemap: none
include windows.inc include kernel32.inc include user32.inc
includelib user32.lib includelib kernel32.lib
.data
MC db "Witam", 0 MCo db "Pierwszy program w asm" ,0
.data?
.code start:
push MB_OK push offset MC push offset MCo push NULL call MessageBox push NULL call ExitProcess
end start
Chciałbym to zapisać jako inline, jednak kompletnie nie mam pojęcia jak. Co prawda w internecie są jakieś poradniki, ale zupełnie tego nie rozumiem. Sam robię to tak: int main() { asm( ".386" ".model flat, stdcall" "option casemap: none" "include windows.inc" "include kernel32.inc" "include user32.inc" "includelib user32.lib" "includelib kernel32.lib" ".data" "MC db " Witam ", 0" "MCo db " Pierwszy program w asm " ,0" ".data?" ".code" "start:" "push MB_OK" "push offset MC" "push offset MCo" "push NULL" "call MessageBox" "push NULL" "call ExitProcess" "end start" ) }
ale to kompletnie nie działa i nie wiem jak umieścić tekst który w asm jest w cudzysłowie normalnie w C++. |
|
j23 |
» 2015-12-03 09:57:43 Ktoś tu chyba nie rozumie istoty wstawek assemblerowych w C/C++. Jak chcesz pisać programy od podstaw w asmie , to użyj jakiegoś kompilatora assemblera a nie C++. We wstawkach dajesz małe fragmenty kodu, z reguły w celach optymalizacyjnych, które są częścią ciała funkcji, w której zostały wstawione. |
|
« 1 » |