Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 28 mar 2024, o 20:28


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
PostNapisane: 7 paź 2015, o 18:31 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 maja 2013
Posty: 568
Zbananowany użytkownik

Pomógł: 31

Programy na PC uruchamia się zazwyczaj pod kontrolą jakiegoś systemu operacyjniego, np. może być to DOS, Windows, Linux, itp. Można też uruchomić bezpośrenio na komputerze.
Wymagania są takie, że program musi być napisany w trybie 16bitowym, ponieważ będzie uruchamiany na procesorze pracyjącym w trybie rzeczywistym. Drugie wymaganie to program nie może być większy jak 512 bajtów, to ograniczenie wynika z tego że BIOS komputera jest w stanie wczytać tylko jeden 512 bajtów sektor i go uruchomić.
Żeby uruchomić program trzeba go wgrać do zerowego sektora dysietki lub pendrive a następnie zabootować z tego urządzenia komputer.

O to program zegar.asm

Składnia: [ Pobierz ] [ Ukryj ]
język asm
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Kompilascja Netwide Assemblerem, tworzy ona obraz dyskietki.

nasm zegar.asm -o zegar.img

Efekt działania programu pod VirtualBoxem

Obrazek

Porgram powstał na bazie artykułów z miesięcznika programista, "Bliżej krzemu"

_________________
Und schreien

Spring
Erlöse mich
Spring
...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 paź 2015, o 20:01 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 23 wrz 2013
Posty: 58
Zbananowany użytkownik

Pomógł: 10

Ciekawy temat,

podpowiesz jak skompilować ten kod?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 paź 2015, o 20:03 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8583
Pomógł: 337

Cytuj:

Kompilascja Netwide Assemblerem, tworzy ona obraz dyskietki.

nasm zegar.asm -o zegar.img



Np tak ....

_________________
[b]San Escobar! Patria mia! Tu eres como la salud.[/b]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 paź 2015, o 13:15 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 maja 2013
Posty: 568
Zbananowany użytkownik

Pomógł: 31

Skąd czerpać informacje o przerwaniach?
Ze strony: http://www.cs.cmu.edu/~ralf/files.html , są tam pliki zawierające opisy przerwań. Dla przykładu podam jak odczytać godzinę z zegara na płycie głównej (RTC).

W pliku INTERRUP.D, pochodzącym z w/w strony znajduje się zapis:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Zgodnie z powyższym opisem po wykonaniu instrukcji:
Składnia: [ Pobierz ] [ Ukryj ]
język asm
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


W rejestrze CH mamy godzinę, w CL minuty, w DH sekundy. Wszytko w kodzie BCD więc bardzo łatwe do wyświetlenia.


W przypadku odczytu daty, w tym samym pliku INTERRUP.D mamy opis jak ją odczytać:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
Und schreien

Spring
Erlöse mich
Spring
...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 14 maja 2016, o 14:36 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 05 mar 2016
Posty: 85
Pomógł: 5

PROTON napisał(a):
Żeby uruchomić program trzeba go wgrać do zerowego sektora dysietki lub pendrive a następnie zabootować z tego urządzenia komputer.

1. czy na realnym prawdziwym komputerze tez sie uruchomi czy tylko na maszynie wirtualnej
sprawdzałeś ?

2. Jak wgrac pod zerowy sektor pendriva ?

_________________
I'M



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO