我正在使用 dosbox,这是一项任务。我必须使用堆栈反转字符串。我的想法是将字符串一次一个字符推入堆栈,然后一个一个弹出到 RevString 中。我无法弄清楚如何实际做到这一点。这是我到目前为止所拥有的。
.MODEL SMALL
.STACK 100h
.DATA
String DB "NAJAFI", 13, 10, "$"
RevString DB 6 DUP(?), '.', 13, 10, "$"
.CODE
Main PROC
;; Set up ds register to point to the data
mov ax, @data
mov ds, ax
;; printing a string in dos
mov dx, OFFSET String
mov ah, 9h
int 21h
;; reverse the string by using the stack
mov ax, WORD PTR String
push ax
pop ax
;mov RevString, ax
;; print the reverse string in dos
mov dx, RevString
mov ah, 9h
int 21h
;; DOS return
mov al, 0
mov ah, 4ch
int 21h
Main ENDP
END Main