Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[ASM] Asembler i niezgodność z systemem Windows 8

Ostatnio zmodyfikowano 2013-07-31 10:54
Autor Wiadomość
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?
P-89059
Elaine
» 2013-07-30 17:50:23
.com
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.
3. Jak to naprawić ;d?
Zrób program dla Windowsa, nie dla DOSa.
P-89061
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?
P-89063
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.
P-89064
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?
P-89065
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.
P-89067
mactec
» 2013-07-30 21:55:41
P-89071
jankowalski25
» 2013-07-31 10:54:13
W kursie, z którego korzystasz programy *.exe zaczynają się od lekcji piątej (patrz: przykłady).
P-89093
« 1 »
  Strona 1 z 1