[ASM] Asembler i niezgodność z systemem Windows 8
Ostatnio zmodyfikowano 2013-07-31 10:54
Savail Temat założony przez niniejszego użytkownika |
[ASM] Asembler i niezgodność z systemem Windows 8 » 2013-07-30 17:39:38 Hej, Ostatnio postanowiłem ogarnąć troszkę asemblera. Jest jednak parę rzeczy których nie jestem pewien. Ściągnąłem najnowszą wersję FASMa i NASMa. Po skompilowaniu programu i jego utworzeniu z rozszerzeniem .com, program nie chce się uruchomić - wywala błąd: "Ta aplikacja nie będzie działać na twoim komputerze", bardzo treściwy...
W każdym razie, spróbowałem odpalić swój program przez wiersz poleceń i wywaliło mi błąd o niezgodności aplikacji z 64-bitowymi systemami czy coś. I teraz pytania:
1. Czy aplikacje 32-bitowe nie działają na 64-bitowych kompach? 2. Od czego zależy czy skompilowana aplikacja w FASMie lub NASMie będzie 32 lub 64 bitowa? Od samego kompilatora? 3. Jak to naprawić ;d? |
|
Elaine |
» 2013-07-30 17:50:23 64-bitowe Windowsy nie mają wbudowanego emulatora DOSa. 1. Czy aplikacje 32-bitowe nie działają na 64-bitowych kompach? |
Mogą nie działać, WoW64 jest opcjonalne – ale usunąć się da tylko w serwerowych edycjach Windowsów. 2. Od czego zależy czy skompilowana aplikacja w FASMie lub NASMie będzie 32 lub 64 bitowa? |
Od tego, jakiego formatu zażądasz podczas asemblacji. Zrób program dla Windowsa, nie dla DOSa. |
|
Savail Temat założony przez niniejszego użytkownika |
» 2013-07-30 18:55:55 'Uczę się" ze strony http://rudy.mif.pg.gda.pl/~bogdro/ i każdy format np. huge, large itp. oprócz binary powodował błąd kompilacji. Oto mój obecny kod. Narazie chciałem uruchomić tylko 1 program w asemblerze ale widocznie już tutajzaczynają się problemy... format binary
org 100h
start: mov ah, 9 mov dx, info int 21h
mov ah, 0 int 16h
mov ax, 4c00h int 21h
info db "Czesc.$" Mógłbyś jaśniej z tym tworzeniem programu dla windowsa a nie dla DOS'a? W necie nic nie można znaleźć albo nie znam odpowiednich keywordów. Samo skompilowanie kodu do pliku z rozsz. exe nic nie daje... Chyba, że chodzi o programowanie np. w c++ ale ze wstawkami asma? |
|
m4tx |
» 2013-07-30 19:32:51 Chyba, że chodzi o programowanie np. w c++ ale ze wstawkami asma? |
Kompilator C++ i tak, mówiąc w skrócie, przerabia kod C++ na kod asma. |
|
Savail Temat założony przez niniejszego użytkownika |
» 2013-07-30 19:49:05 no dobra ale tzn. że da radę nauczyć się asma wstawkami asma do c++? Nie ma żadnych ograniczeń w tym? |
|
Monika90 |
» 2013-07-30 19:57:08 Program, który pokazałeś to 16 bitowy program dla DOSu. Moim zdaniem nie warto się uczyć pisania programów dla systemu z przed 20 lat. Więc zainstaluj Linuksa i ucz się asma dla Linuksa, albo poszukaj kursu dla Windows.
A w ogóle, być może nie wiesz, że różne systemy mają różne API, więc program który wypisuje Hello World na konsoli w Windows będzie zupełnie inny od tego dla DOSa czy Linuksa. |
|
mactec |
» 2013-07-30 21:55:41 |
|
jankowalski25 |
» 2013-07-31 10:54:13 W kursie, z którego korzystasz programy *.exe zaczynają się od lekcji piątej (patrz: przykłady). |
|
« 1 » |