2015-10-13 38 views
0

我有這個程序,其中用戶輸入一個分數,我的程序告訴它的等效字母等級。我的程序應該包括B +和C +,但是,它不會那樣做。Print_string或print_char或什麼?要使用什麼? (NASM)

即使我輸入B +範圍內的得分,但它仍然輸出B.如果我輸入在C +範圍的分數,它輸出C.

我只是把我的代碼某些部分。 'C'部分有效,但問題出現在'C +'中。我相信問題出在我的print_char中。我也嘗試使用'Cplus',然後print_string,但它仍然無法正常工作。它是:

outmsg1 db "The letter grade is: ",0 


C: 
mov eax, outmsg1 
call print_string 
mov eax, 'C' 
call print_char 
jmp Z 

Cplus: 
mov eax, outmsg1 
call print_string 
mov eax, 'C+' 
call print_char 
jmp Z 

回答

0

print_char需要單個字符參數。

Cplus: 
mov eax, outmsg1 
call print_string 
mov eax, 'C' 
call print_char 
mov eax, '+' 
call print_char 
jmp Z 
+0

修好了!謝謝。 – lexus

+0

或者,你可以使「C +」成爲一個字符串(如'outmsg1')並使用'print_string'。 – jolati

相關問題