Сборка (emu8086) обратный десятичный текст - PullRequest
0 голосов
/ 28 октября 2018

У меня проблемы со сборкой. На данный момент я только начинающий, и на данный момент я выполнил одно задание, однако сейчас я борюсь с вводом десятичного текста и выводом его в обратном порядке. Я искал ответы через, и я заметил эту часть кода:

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. Не могли бы вы также порекомендовать мне больше руководств по сборке, где можно найти задачи такого типа, как преобразование вашего слова в десятичное / двоичное, вывод и т. Д.

...