0
TASMで作業するアセンブラ言語を初めて使用しているため、昇順に番号をソートする必要があります。コードはシンプルですが、配列の要素数をキーボードから読み取ってからキーボードから挿入する必要があります。問題は、入力したすべてがASCIIコードで表示されていることで、変換については何もわかりません。私はどのように読むことができますか?キーボードから配列の要素を読み込むアセンブラ
ありがとうございます!
ソート5つの数字
.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