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!

Także dzięki firmie Netlook.pl możesz za darmo korzystać z tej strony!

 
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ź
Wątek zamkniętyNie można wysłać PWBłędy na stronie2176 26.08.2010 20:00:45
WątekPsikus :)
Czym można zaskoczyć wracającego z urlopu
Pogaduchy14176 23.08.2007 19:42:37
WątekInstalacja naprawcza w Win7 Ultimate
Czy z poziomu instalatora można naprawić Windows 7?
Porady / Oprogramowanie, systemy operacyjne4667 5.07.2012 00:20:42
WątekInne
Wszelkie nietypowe żarty i dowcipy, których nie można zakwalifikować do konkretnego działu
Wielka Baza Humoru224 755 13.03.2016 17:15:47
Wątek zamkniętyProgram do nabijania wejść
W jaki sposób można oszukiwać liczniki odwiedzin na stronach www
Porady / Internet5420 579 14.05.2010 09:25:56

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
Reklama  
archive To tylko kopia strony wykonana przez robota internetowego! Aby wyświetlić aktualną zawartość przejdź do strony.
Ładowanie...

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