【发布时间】:2019-12-29 18:32:30
【问题描述】:
我有一个非常简单的问题需要解决。首先输入一个字符串,第一个输出应该复制字符串的最后一个字母并替换字符串的第一个字母,然后最后一个字母应该用第一个字母替换。 第二个输出应该大写字符串的第一个字母。我已经做了第二个输出,我现在的问题是第一个输出。请看下面的预期结果。
预期结果
Enter string: jon jones
son jonej
Jon jones
当前代码
.MODEL SMALL
.STACK 100H
.DATA
INPUT_STRING DB 10,13,"Enter string: $"
USER_INPUT_STRING DB 80 DUP('$')
BREAKLINE DB 10, 13, "$"
.CODE
MOV AX, @DATA
MOV DS, AX
LEA DX,INPUT_STRING
MOV AH,09H
INT 21H
LEA DX, USER_INPUT_STRING
MOV AH, 0AH
INT 21H
LEA DX, BREAKLINE
MOV AH, 09H
INT 21H
SUB USER_INPUT_STRING + 2, 32 ;Capitalize
MOV AH, 02H
INT 21H
LEA DX, BREAKLINE
MOV AH, 09H
INT 21H
LEA DX, USER_INPUT_STRING + 2 ;Output of capitalize
MOV AH, 09H
INT 21H
LEA DX, BREAKLINE
MOV AH, 09H
INT 21H
MOV AH, 4CH
INT 21H
END
允许的命令
mov, lea, int, inc, dec, add, sub, proc, re, db
【问题讨论】:
-
@MichaelPetch。 MASM
-
是的,我正在使用emu8086
-
对不起。不,我正在使用 emu8086
-
@MichaelPetch。那就是被问到的确切问题。您要输入一个字符串,然后输出字母交换和首字母大写
-
您的代码甚至不符合声称给您的规则。