У меня проблемы со сборкой. На данный момент я только начинающий, и на данный момент я выполнил одно задание, однако сейчас я борюсь с вводом десятичного текста и выводом его в обратном порядке. Я искал ответы через, и я заметил эту часть кода:
DATA SEGMENT
MSG1 DB 10,13,'input: $'
MSG2 DB 10,13,'output reverse: $'
P1 LABEL BYTE
M1 DB 0FFH
L1 DB ?
P11 DB 0FFH DUP ('$')
P22 DB 0FFH DUP ('$')
DATA ENDS
DISPLAY MACRO MSG
MOV AH,9
LEA DX,MSG
INT 21H
ENDM
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
DISPLAY MSG1
LEA DX,P1
MOV AH,0AH
INT 21H
DISPLAY MSG2
LEA SI,P11
LEA DI,P22
MOV DL,L1
DEC DL
MOV DH,0
ADD SI,DX
MOV CL,L1
MOV CH,0
REVERSE:
MOV AL,[SI]
MOV [DI],AL
INC DI
DEC SI
LOOP REVERSE
DISPLAY P22
LEA SI,P11
LEA DI,P22
MOV CL,L1
MOV CH,0
MOV AH,4CH
INT 21H
CODE ENDS
END START
Программа работает отлично, но как сделать ввод в ОЗУ с моим разыскиваемым текстом в десятичном формате?
Например, я хочу напечатать имя: Джон, который является десятичным числом 74 111 104 110, и я застрял.
P.S. Не могли бы вы также порекомендовать мне больше руководств по сборке, где можно найти задачи такого типа, как преобразование вашего слова в десятичное / двоичное, вывод и т. Д.