2016-05-08 6 views
-2

so die Übertragung diesen ist ein Teil meines Code:Assembly x86 - Menü der Farben sind vorbei, wenn eine Seite

start: 
    mov ax,@data 
    mov ds,ax 

    ;Set graphics mode 320x200 & 256 colors 
    mov ax,13h 
    int 10h 

    mov al,00h 
    mov ah,0 
    int 10h 
    mov ah,09h 
    mov bl, 0c3h ; 3 = light blue , c = lightning (for unknown reason) & red line 
    mov cx, 40 ; numbers of characters to color 
    int 10h 
    mov dx, offset menu  
    int 21h  
    ;set cursor location(dh,dl) (I'm hiding the cursor) 
    mov dl, 16 ; column. 
    mov dh, 30 ; row. 
    mov ah, 02h 
    int 10h   
    call Beep 
    jmp start 

ich den jmp Start am Ende habe soeben so ihr erkennen, dass selbst, wenn ich zu dem Sprung Start auch ohne auf eine andere Seite zu wechseln die Farben sind noch weg und die Cursorposition ist nicht auf die Position eingestellt die ich ihm gesagt habe, aber das Menü zeigt, was mache ich falsch?

Hinweis: Die Farben und die Cursorposition funktionieren, bevor ich wieder zum Start zurückspringe.

+0

Ihr erster 'int 10h' Aufruf setzt den Grafikmodus in dem Modus 13h (320x200 & 256 Farben), aber Ihr zweiter Satz es in dem Modus' 00h' die graustufeninvertiert auf CGA/EGA. Siehe [Ralf Browns Unterbrechungsliste] (http://www.ctyme.com/intr/rb-0069.htm#Table10). – zx485

Antwort

1

Zuerst entfernen Sie die jmp start und ersetzen Sie sie durch mov ah,0 und int 16h. Dies gibt Ihnen eine Chance, tatsächlich sehen was auf dem Bildschirm ist.

mov ax,13h 
int 10h 

mov al,00h 
mov ah,0 
int 10h 

In diesem Codeblock setzen Sie den Bildschirm 2 mal! Das zweite und letzte Mal ist es auf einen 16-farbigen Textbildschirm mit 40 Spalten und 25 Zeilen eingestellt.


mov bl, 0c3h ; 3 = light blue , c = lightning (for unknown reason) & red line 

Sie die ‚Schreib Zeichen und Attribut‘ Funktion mit zu wenig Parameter BIOS verwenden. Sie sollten auch definieren:

mov al, " " ;Space character 
mov bh, 0 ;Display page 0 
mov bl, 0C3h ;This chooses a cyan foreground on a red background 
Verwandte Themen