Hier ist ein neues Update, was ich gerade mache. Ich bin verwirrt, wie ich die in S2 gespeicherten Daten benutze, um dasselbe Wort auf dem ganzen Bildschirm zu suchen. Wenn gefunden, markieren Sie das Wort.Assembly Array Daten speichern
DOSBOX - Compiler: A86
org 100h
;-----------------------------------------------------
lea bp, S1
mov cx, 35
mov al, 1
mov ah, 13h
mov bh, 0
mov dl, 0
mov dh, 25
mov bl, 7
int 10h
;---------------------------------------------------------- ; Asks input'
mov di,1
start:
mov ah, 0
int 16h
mov dx,ax
mov ah, 0eh
cmp dx,4d00h
je start2
int 10h
mov S2[di], al
inc di
jmp start
start2 :
mov cx,di
mov di,1
mov si,0
relop :
mov ah,[si]
cmp ah,S2[di]
mov al, 13h
mov ah, 0
int 10h ; set graphics video mode.
mov al, 1100b
mov cx, 10
mov dx, 20
mov ah, 0ch
int 10h ; set pixel.
inc di
add si,2
je relop
mov ah, 13h
lea bp, S2
mov al, 1
mov bh, 0
mov bl, 7
mov dl, 0
mov dh, 25
int 10h
MOV AH, 4CH
INT 21H
S1 DB "EENTER THE WORD TO FIND ON SCREEN : "
S2 db 1 dup (?)
; ========= data ===============
Ich kann nicht int 21h für Ein- und Ausgabe verwenden, sondern nur das Programm (Rückkehr)
Es ist Ihre Frage nicht klar. Welchen Assembler verwenden Sie? Warum bewegst du nicht direkt die S2-Inhalte in den Videospeicher, wenn du INT 21 nicht nutzen willst? –
Ich kann den Videospeicher nicht verwenden, weil ich die gespeicherte Zeichenfolge verwenden muss, um nach etwas zu suchen. like, wie drucke ich was ich in S2 gespeichert zurück auf dem Bildschirm, aber es sollte in der Mitte von "FEHLER ->" und "konnte nicht gefunden werden" – will
Wie soll Ihr Code funktionieren? Es gibt keine Kommentare, die darauf hinweisen, was Ihrer Meinung nach passieren sollte. –