Asembler 8086 instrukcje

0

Witam .Mógłby ktoś mi wytłumaczyć co robi podany fragment kodu ?

 assume ds:@data 
mov ax,@data 
mov ds,ax
mov ax,0a000h
mov es,ax
mov ax,0013h
int 10h

Czy chodzi o to że do rejestru segmentowego DS kopiowane segmentu danych , a następnie jest inicjacja trybu graficznego ? Z góry dziękuję za pomoc .

0

Ładuje do ds i es wartosci, potem ustawia tryb graficzny.
Czyli tak, dobrze myślisz.

0

a po co jest ta instrukcja ?
mov ax,0a000h

0

Ładuje do ax 0x0a00, bo nie można ładować bezpośrednio do rejestów segmentowych wartości.
Za poprawnośc tego kodu głowy nie dam (bo to zalezy od offsetu).

0

Dzięki za pomoc.Mam jeszcze pytanie , co powinienem dopisac do tego kodu

 MOV   BTXT[DI],AL      
        mov ax,0a000h
        mov es,ax
        MOV AX,0013H
        INT 10H 

aby zawartość w BTXT była pokolorowana?

0

w pamięci ekranu w trybie tekstowym jeden znak zajmuje dwa bajty: jeden bajt to kod ascii a drugi bajt to atrybut (4 bity koloru tła i 4 bity koloru znaku).
ale nie pamiętam w jakiej kolejności (czy atrybut jest przed znakiem czy za).
dużo kombinacji nie masz, albo będzie BTXT[DI-1] albo DI+1.

0

Dzięki.Mógłbyś jeszcze powiedzieć gdzie i jak to wpisać?

0

Bardzo bym prosił kogoś o pomoc bo próbowałem na różne sposoby i nic... :(

1 użytkowników online, w tym zalogowanych: 0, gości: 1