我一直試圖在MASM中連接一個字符串,並且遇到了一些困難。首先,我在這一點的輸出是一個樹狀字符0,但我認爲也許我的WriteString
(來自Irvine庫)沒有被正確使用。 WriteString
是從edx
還是eax
寫的?我也知道在使用字符串時,我需要使用指向其第一個字符的地址的指針,而不是整個字符串;這是我正在嘗試使用緩衝區和OFFSET指針,但我不確定這是完全正確的。我也不確定推送和流行是否有必要,如果是,它究竟做了什麼。 請幫忙!首先十分感謝。在MASM中連接字符串
這裏是編碼,我已經寫了:
TITLE Str_Concat (WA5.asm)
; Program Description: This program concatenates a source string to a target string.
; Author:
; Date Created: 2/6/2013
INCLUDE C:\IrvineExamplesVS2010a\Irvine32.inc
.data
source BYTE "Rocks",0
target BYTE "Zachary",0
buffer BYTE 24 DUP (0)
.code
main PROC
push ds
pop es
mov esi, OFFSET source
mov edi, OFFSET target
cld ;direction = forward
mov cx, LENGTHOF source
rep movsb
call WriteString
call crlf
exit ; exit to operating system
main ENDP
END main