Ich bin neu in Assembler Language, arbeiten an TASM, müssen die Nummern in aufsteigender Reihenfolge sortieren. Der Code ist einfach, aber ich muss von der Tastatur die Anzahl der Elemente des Arrays lesen und sie dann auch von der Tastatur einfügen. Das Problem ist, dass alles, was Sie tippen, im ASCII-Code angezeigt wird, und ich habe keine Ahnung von der Konvertierung. Wie kann ich lesen?Lesen von Elementen eines Arrays aus der Tastatur Assembler
Vielen Dank im Voraus!
Sortierung 5 Zahlen
.MODEL SMALL
.DATA
NUM DW 42H,34H,26H,17H,09H
LEN EQU 05H
.CODE
START:
MOV AX,@DATA
MOV DS,AX
MOV BX,LEN-1 ;Initialize BX as the counter for loop UP
MOV CX,BX ;Initialize CX as the counter for loop UP1
UP1: MOV BX,CX
LEA SI,NUM ;SI points to the first number in NUM
UP: MOV AX,[SI]
MOV DX,[SI+2]
CMP AX,DX
JB DOWN ;no swapping if [SI] less than [SI+2]
MOV [SI],DX
MOV [SI+2],AX ;swap the numbers pointed by SI and SI+2
;if [SI] is greater than [SI+2]
DOWN:
INC SI
INC SI ;increment SI to point to next dataword(number)
DEC BX
JNZ UP
DEC CX
JNZ UP1
MOV AH,4CH
INT 21H
END START
END