Hi,
Ich habe vor kurzem mit dem OS/Assembler coding begonnen
und hab jetzt mal ein paar fragen:
1.) In einem Assembler tutorial habe ich folgendes programm geschrieben:
Hier der Code:

Ich habe vor kurzem mit dem OS/Assembler coding begonnen
und hab jetzt mal ein paar fragen:
1.) In einem Assembler tutorial habe ich folgendes programm geschrieben:
Code: [Auswählen]
;---------------------------------------------------------------------------------
;- Testprogramm by nic -
;-Das programm soll solange eine schleife ausführen bis der benutzer A eingibt ;-doch leider funktioniert das nicht (bei mir)
;---------------------------------------------------------------------------------
org 100h
Schleife:
mov ah,09 ;String ausgeben
mov dx,msgEingabe ;
int 21h ;
mov ah,01 ;Zeichen einlesen
int 21h ;
cmp dl,"a" ;War das eingegebene Zeichen A
je ZeichenWarA ;Springe zum "ZeichenWarA" Label
mov ah,09 ;Wenn nicht dann ...
mov dx,msgNichtA ;gib diesen String aus
int 21h ;
jmp Schleife ;und wiederhole die Schleife
ZeichenWarA: ;Wenn doch dann...
mov ah,09 ;gib diesen String aus
mov dx,msgWarA ;
int 21h ;
mov ah,4Ch ;Beende das Programm
int 21h ;
;---------------------------------------------------------------------------------
;- Funktionen und Variablen -
;---------------------------------------------------------------------------------
msgEingabe db "Bitte geben sie A ein: ",13,10,"$"
msgWarA db "Sie haben A eingegeben",13,10,"$"
msgNichtA db "Sie haben nicht A eingegeben",13,10,"$"
2.)In der ersten Ausgabe von Lowlevel hat man ja einen kleinen Kernel programmiert...langsam verstehe ich auch den code doch folgender bleibt mir unschlüssig ...Könnte mir jemand stück-für-stück erklären was genau da passiertHier der Code:
Code: [Auswählen]
;Funktion zum Ausgeben eines strings
schreiben:
lodsb
or al,al
jz short schreiben_d
mov ah,0x0E
mov bx,0x0007
int 0x10
jmp schreiben
schreiben_d:
retn
thx, Nic! 

Übersicht
Wiki
Hilfe
Suche
Einloggen
Registrieren
Drucken

Gespeichert

