Arbeiten mit arrays assembler 8086

Definieren Sie ein array mit zehn 16-bit-Worten. Lesen Sie die Werte ein string, der keine Zeichen aus der Tastatur. Danach sollte der string umgewandelt werden, so dass es bleiben nur Elemente, sind Kleinbuchstaben (a - z).

Anschließend drucken Sie die Zeichenfolge auf dem Bildschirm und speichern Sie in das register CX die Anzahl der Elemente der modifizierten Sequenz.

Dies ist mein code:

data segment
array dw 10 dup (?) 
i db ?
ends

stack segment
dw   128  dup(0)
ends

code segment

start:

mov i, 0d    
mov bx, 0h
insert: ;inserting elements in array work only for db, but i need to work for dw
mov ah, 01h
int 21h 
mov array [bx], al
inc bx
inc i
cmp i,4d
JNE insert

mov bx, 0h
mov cl, i
go:  ; loop for finding numbers or same character who are not lowercase letters, deleting,
         ; and moving lowercase letters on their positions  
mov ax, array[bx]
cmp ax, 97d
jl notchar
cmp ax, 97d
jg notchar

loop go

mov ax, 4c00h
int 21h  

ends

end start

Mein problem ist, es funktioniert nicht richtig mit dw. Kann mir keiner helfen?

  • Google 's yo' Freund. Zuerst veröffentlichen Sie Ihren code.
  • Ich poste meinen code in meiner Frage helfen Sie mir...bitte
  • Was genau funktioniert nicht? Wie Sie wissen, funktioniert es nicht? Was meinst du mit es funktioniert nicht mit dw?
  • stackoverflow.com/help/how-to-ask
  • wenn ich einfügen eines Zeichens von der Tastatur, weil dw ist 2bytes ich schreiben kann, in [bx] . diese Anweisung funktioniert nur für db ( mov array [bx], al ), ich will sparen dw in der Reihe, keine db, wenn ich definieren, array db 10 ist es ok, aber array dw 10 nicht funktioniert, emu8086 gibt mir ein Fehler
InformationsquelleAutor Emy | 2015-10-22
Schreibe einen Kommentar