2012-11-20 35 views
0

我想編寫一個程序,它使用scasb和masm32來計算字符串中特定符號的數量,我找到了這個例子,但我無法弄清楚爲什麼我會得到錯誤。 這裏的代碼的一部分:字符串中的符號計數masm32

.data 
str db '. . .' 

len_str=$-str 

.code      

start:      

    mov ax,@data 
    mov ds,ax 
    mov es,ax 
    lea di,str 
    mov cx, len_str 
    mov al,' ' 
    mov bx,0 
    cld 

cycl: 
repe scasb 
    jcxz exit 
    inc bx 
    jmp cycl 

exit: 

得到

A2008語法錯誤分貝,STR

A2006語法錯誤len_str在表達

A2148無效符號類型:出口

A2004 :符號類型衝突

+0

字符串最有可能代表「雙引號」 –

回答

2

str是一條指令,它是Store Task Register的助記符。正如你所做的那樣,你不能將它用作標籤名稱。將其命名爲其他內容並且應該注意你的錯誤

+0

謝謝,它幫助 – Vanguard