0
私はプッシュとポップを使用して動作するようにプログラムを取得することはできません、基本的に私は文字列をプッシュし、逆の順序で文字列をポップしたい。私は私の本では例を見て、私の問題にその例を実装しようとした私は、プログラムを実行したときに私は、文字列にあなたが逆の文字列が保存されることを期待しないプッシュとポップのメソッドを使用して文字列を逆転
.model small
.stack 100h
.data
message BYTE "This is a string",0
reverse = ($ - message) - 1
.code
main proc
mov ax, @data
mov ds, ax
; push on to the stack
mov cx, reverse
mov si,0
L1:
mov ax, message[si] ;get character
push ax ;push on stack
inc si
loop L1
;Pop the name from the stack, in reverse,
; and store in the reverse array.
mov cx, reverse
mov si, 0
L2:
pop ax ;get character
mov message[si], al ;store in string
inc si
loop L2
mov dx,OFFSET message ;display name
mov ax, 4c00h
int 21h
int 20h
main endp
end
何が起こりますか?代わりに何が起こるのですか?常にこの情報を提供してください。 "それは動作しません"エラーの説明ではありません。 – fuz
'cx'と' si'をリロードする必要があります。 PS:デバッガの使い方を学んでください。 – Jester
また、 'nameSize [si]'を 'message [si]'に置き換える必要があります。 –