Forum

[assembler] Co można zrobić, aby działało :( ?

[+] Twoje konto

Subskrybuj kanał najnowszych wypowiedzi w tym temacie

Wątek zamknięty Forum > Porady > Programowanie > [assembler] Co można zrobić, aby działało :( ?

Idź do strony:1
Ocena: (Ocen: 0)
Wypowiedzi 1 - 3 z 3
 Zarejestrowany, zwieszony yarpo Kopiuj nick (0.0.0.*) |  
Wypowiedź dodana: 10 października 2007, 23:00:55 | Wypowiedź edytowana Ostatnio edytowana: 10 października 2007, 23:02:48 po raz 1-wszy przez: yarpo
« Opcje

Sorry, że dziwnie sformułowany tytuł, ale nie miałem pomysłu jak nazwać :-)

Oto jaki mam problem:
Witam

Właśnie zacząłem naukę assemblera.

Oto kod pierwszego programu, podany na laborkach:

Kod:

; program przykładowy (wersja dla srodowiska Microsoft)
.686
extrn _ExitProcess@4 : near
extrn __write : near; (dwa znaki podkreslenia)
public _main

_DATA SEGMENT dword public 'DATA' use32
tekst db 10, 'Nazywam się . . . ' , 10
db 'Mój pierwszy (?) program asemblerowy '
db 'działa już poprawnie!', 10
koniec_t db ?
_DATA ENDS

_TEXT SEGMENT dword public 'CODE' use32
ASSUME cs:_TEXT, ds:_DATA
_main:
mov ecx, koniec_t - tekst

; wywolanie funkcji ”write” z biblioteki języka C
push ecx; liczba znaków wyswietlanego tekstu
push dword PTR OFFSET tekst; polozenie obszaru
; ze znakami
push dword PTR 1 ; uchwyt urzadzenia wyjsciowego
call __write; wyswietlenie znaków
; (dwa znaki podkreslenia _ )
add esp, 12; usuniecie parametrów ze stosu

; zakończenie wykonywania programu
push dword PTR 0; kod powrotu programu
call _ExitProcess@4

_TEXT ENDS
END

Kod ten pod windowsem powinien się skompilowac do programu do wykonania takich poleceń z wiersza komend:

Kod:

D:\studia\ako\labki\labki 1>ml /c /Cp /coff /Fl cw1.asm
D:\studia\ako\labki\labki 1>link /subsystem:console /out:cw1.exe cw1.obj libc.lib user32.lib

Gdy robię to, otrzymuję:

Kod:

D:\studia\ako\labki\labki 1>ml /c /Cp /coff /Fl cw1.asm
Microsoft (R) Macro Assembler Version 8.00.50727.42
Copyright (C) Microsoft Corporation. All rights reserved.

Assembling: cw1.asm

D:\studia\ako\labki\labki 1>link /subsystem:console /out:cw1.exe cw1.obj libc.li
b user32.lib
Microsoft (R) Incremental Linker Version 8.00.50727.42
Copyright (C) Microsoft Corporation. All rights reserved.

libc.lib(crt0init.obj) : warning LNK4254: section '.CRT' (40000040) merged into
'.data' (C0000040) with different attributes

D:\studia\ako\labki\labki 1>

I w folderze pojawia się co prawda plik 'cw1.exe'. Niestety, nie działa. Co rozumiem, przez "nie działa". Po dwukrotnym kliknięciu tylko mruga i znika. Okno programu jest otworzone krócej niż 1s. Nie widzę, czy są jakiekolwiek komunikaty w nim. Za szybko to się dzieje.

Próbowałem także zrobić to w MS Visual Studio 2005 [na laborkach robiliśmy i tak i tak. Oba sposoby działały]. Niestety, u mnie, nie działa.

Mój komputer:
http://sklep.vobis.pl/produktinfo.aspx?symbol=874412

Cytat:

Procesor Klasa procesora AMD Sempron XP
Kod procesora 3400+
Taktowanie procesora 2,0 GHz
Częstotliwość szyny FSB 1600 MHz
Pojemność pamięci podręcznej 256 kB
Technologia Mobilna Nie

Czy to, że program nie działa, może być winą innego niż intelowski procesor???

Wydaje mi się, że nie, ale już nie wiem, co może być przyczyną...

TIA

PS. Tu instrukcja z laborek, gdyby ktoś chciał sprawdzić u siebie
http://eti.dragoart.info/download.php?id=430

EDIT: System operacyjny Win XP home wersja 2002 sp2

 Gość REKLAMA Kopiuj nick (*->*)
Wypowiedź dodana: 10 października 2007, 23:00:56

 Zarejestrowany, zwieszony yarpo Kopiuj nick (0.0.0.*) |  
Wypowiedź dodana: 11 października 2007, 00:21:53
« Opcje

EDIT. Działa :-)

Należy odpalać z wiersza poleceń i wszystko wtedy działa :-)

Sorry ,za fałszywy alarm :-P

AvatarAdministrator Dżyszla Mężczyzna Kopiuj nick (83.2.108.*) |  
Wypowiedź dodana: 11 października 2007, 12:46:24
« Opcje

Albo z pewnością ustawić własność dla programu (linku), aby nie zamykał konsoli po zakończeniu działania programu.


mgr inż. Dżyszla

Nie odpisuję na problemy zgłaszane na e-mail lub PW!

 
Idź do strony:1

[+] Pokaż/odśwież listę czytających i monitorujących ten wątek

Podobne tematy:
Tytuł wątkuDziałWypowiedziWyświetleńOcenaOstatnia wypowiedź
Ważne!WątekPropozycja ankiet
Chciałbyś, aby w ankiecie znalazło się jakieś pytanie - podziel się nim!
Opinia o stronie oraz propozycje21 418 24.01.2008 14:35:25
WątekCzy chcesz, aby w Polsce została wybudowana elektrownia jądrowa?
Komentarze do ankiety nr 66
Komentarze / Ankiety7186 30.03.2010 20:44:09
Ważne!Wątek zamkniętyDOT. PROŚBY O NAPISANIE PROGRAMU
Jeśli chcesz, aby ktoś napisał Ci program - zapoznaj się wcześniej z treścią tego wątku!
Porady / Programowanie1228 11.07.2005 19:53:51
WątekUsuwanie realokowanych sektorów dysku - czy możliwe?
Czy jest możliwość, aby przywrócić sektory, które zostały realokowane (remapowane)?
Porady / Sprzęt75 790 30.03.2010 22:39:41
Wątek zamkniętyNie można wysłać PWBłędy na stronie2204 26.08.2010 20:00:45

Wątek zamknięty - nie można już do niego dodawać nowych wypowiedzi

Subskrybuj kanał najnowszych wypowiedzi w tym temacie


Chcesz mieć też takie forum na swojej stronie? Napisz!

Strona istnieje od 25.01.2001
Ta strona używa plików Cookie.
Korzystając z niej wyrażasz zgodę na przetwarzanie danych a zakresie podanym w Polityce Prywatności.
Helion.pl  
archive To tylko kopia strony wykonana przez robota internetowego! Aby wyświetlić aktualną zawartość przejdź do strony.

Optymalizowane dla przeglądarki Firefox
© Copyright 2001-2018 Dawid Najgiebauer. Wszelkie prawa zastrzeżone.
Ostatnia aktualizacja podstrony: 15.07.2018 16:27
Wszystkie czasy dla strefy czasowej: Europe/Warsaw