【发布时间】:2015-12-05 02:37:48
【问题描述】:
我希望程序逐字反转字符串 例如:
输入:
堆栈溢出
输出:
Kcats wolfrevo
请帮帮我...
请修复此代码并完成它:
.MODEL SMALL
.stack 64
.DATA
msg DB "stack owerflow"
DB "$"
.CODE
.STARTUP
LEA SI, msg
MOV DI, SI
l1:
INC DI
MOV AL, [DI + 1]
CMP AL, ' '
JNE l1
l2:
MOV AL, [SI]
xchg AL, [DI]
MOV [SI], AL
INC SI
DEC DI
CMP SI, DI
JB l2
l3:
MOV AH, 09h
LEA DX, msg
INT 21h
MOV AH, 08h
INT 21H
.STACK
END
【问题讨论】:
-
这感觉就像一个家庭作业。
-
此时代码产生了什么?您是否确定了它为什么会这样做?
-
您可以用 C 语言编写算法,然后将其转换为程序集,或者让编译器输出程序集并清理程序集代码。
-
@DavidHoelzer 你能完成吗?
-
标签: string assembly reverse emu8086