0
我寫了一些8086彙編代碼來反轉字符串。我對裝配比較陌生,所以請耐心等待。無法在8086 MASM中反轉字符串
的邏輯是,我定義了一個名爲「STR1」字符串。我將其移入SI註冊。假設字符串'str1'爲「Hello $」,則我將'str1'+ 5的地址加載到SI。現在,我加載一個地址,比如5000進入DI。我將SI中的每個字符加載到DI中,每次我將SI遞增並將SI遞減至5次。
下面是代碼
assume cs:code,ds:data
data segment
str db "Hello$"
data ends
code segment
start:
mov ax,data
mov ds,ax
cld
mov cx,5h
mov bx,5h
lea si,str
add si,5
mov di,5000h
l1:mov bx,[si]
mov [di],bx
dec si
inc di
loop l1
hlt
code ends
end
我得到一個絕對的垃圾值,當我訪問位置5000 plz幫助的感謝
你怎麼知道什麼是在位置5000? –
字符每個都是1個字節,但是您正在處理2個字節。 PS:學習使用調試器。 – Jester
@Jester我如何處理1個字節?我應該用AL代替AX嗎? –