[programowanie] assembler

spajder
Użytkownik
Użytkownik
Posty: 735
Rejestracja: 7 lis 2005, o 23:56
Płeć: Mężczyzna
Lokalizacja: Łódź
Podziękował: 2 razy
Pomógł: 133 razy

[programowanie] assembler

Post autor: spajder »

W jaki sposób w assemblerze odczekać na wypisanie czegoś na ekran? może na konkretnym przykładzie:

Kod: Zaznacz cały

// ustawianie rejestrów na bufor danych

mov ah, 09h
int 21h

// ustawianie rejestrów na bufor danych
int 25h

// i to samo
mov ah, 09h
int 25g
oczywiście dużej części kodu nie napisałem, bo nie trzeba. Powinno działać tak:
1. wyświetla komunikat "Wczytuję dane.."
2. wczytuje dane
3. jeśli wszystko w porządku pisze "OK", jesli nie wypisuje "Błąd"

a działa tak:
1. wczytuje dane
2. wyświetla komunikat "Wczytuję dane..."
3. jeśli wszystko w porządku pisze "OK", jesli nie wypisuje "Błąd"

jak to poprawić?
Awatar użytkownika
eloar
Użytkownik
Użytkownik
Posty: 106
Rejestracja: 18 cze 2007, o 16:59
Płeć: Mężczyzna
Lokalizacja: Kobyłka
Podziękował: 8 razy
Pomógł: 12 razy

[programowanie] assembler

Post autor: eloar »

W jakims rejestrze daj wartosc, ktora bedzie okreslala, czy wynik byl poprawny, czy nie. Potem po prostu dwa wykluczajace sie jumpy wg wartosci tego rejestru. Jesli zrozumialem, to musisz po prostu w ASM skonstruowac IF(warunek) ELSE.
spajder
Użytkownik
Użytkownik
Posty: 735
Rejestracja: 7 lis 2005, o 23:56
Płeć: Mężczyzna
Lokalizacja: Łódź
Podziękował: 2 razy
Pomógł: 133 razy

[programowanie] assembler

Post autor: spajder »

nie, zupełnie nie w tym problem. Chodzi o kolejność wyświetlania:

w planach najpierw powinno wyświetlić komunikat o próbie wczytania, potem odczytać z dysku i wyświetlić status( OK/ Błąd)

a działa tak, że najpierw czyta z dysku, dopiero gdy już odczyta to wypisuje komunikat o próbie odczytu i od razu status

jeśli to coś pomoże do odczytu używam przerwania 25h
Awatar użytkownika
eloar
Użytkownik
Użytkownik
Posty: 106
Rejestracja: 18 cze 2007, o 16:59
Płeć: Mężczyzna
Lokalizacja: Kobyłka
Podziękował: 8 razy
Pomógł: 12 razy

[programowanie] assembler

Post autor: eloar »

A na jaka architekturę piszesz? mam takie dziwne wrażenie, że to może wynikać z przetwarzania potokowego... Ale to tylko takie przypuszczenia... jak piszesz na architekturę i386, lub wyższą, to może być problem właśnie tam.
spajder
Użytkownik
Użytkownik
Posty: 735
Rejestracja: 7 lis 2005, o 23:56
Płeć: Mężczyzna
Lokalizacja: Łódź
Podziękował: 2 razy
Pomógł: 133 razy

[programowanie] assembler

Post autor: spajder »

asembler dla 286, ale uruchamiany oczywiście na nowym kompie
ODPOWIEDZ