1
配列に数値を入力するプログラムを作成しようとしていて、数値の1つを検索することができるようにしようとしています。私は彼らの入力を "n"と "N"と比較しなければならない場所を再び検索することができます。私はそれが正しく動作するように見えることはできません。私はatowを使用するのが正しい入力かどうかはわかりませんが、ここにコードがあります。アセンブリ言語を再度検索
number1 WORD ?
anArray WORD 100 DUP (?)
count WORD ?
search WORD ?
searchn BYTE "n",0
searchNo BYTE "N",0
prompt1 BYTE "Enter a number or -1 to quit.", 0
prompt2 BYTE "Enter a number to search for", 0
prompt3 BYTE "Search for another number Y/N",0
inString BYTE 40 DUP (?)
outMsgLabel BYTE "Search Result", 0
frontOut1 BYTE 6 DUP (?)
outMsg1 BYTE " is element"
rearOut1 BYTE 6 DUP (?),0
frontOut2 BYTE 6 DUP (?)
outMsg2 BYTE " is not in array",0
searchAgain: input prompt3, inString, 40
atow inString
mov dx,ax
atow searchn
mov ax,"n"
cmp ax,dx
je end1
atow searchNo
mov ax,"N"
cmp ax,dx
je end1
jmp next
私は、動作しないコードと.DATAセクションのスニペットのみを含んでいます。
書き込みをして、それを変換:まあいずれにせよ、あなたはありません、その内容
これを試してみてください言葉にinStringのアドレスを変換しようとしています。そして、デバッガを使ってそれをデバッグします。 –
私はデバッガを使用していましたが、大学のコースでアセンブリ言語を学んでいます。私はC + +でそれを書いてみました、そしてそれを変換しましたが、私はそれを見つけることができません。それは、axレジスタに0を生成するため、inStringを単語に変換することと思われます。私の先生は、文字列を比較したり、文字列を変換する方法を教えていませんでした。 – todaroa
これはどのアーキテクチャですか?それはmasmのi86のように少し見えますが、私は 'atow'や' input'を認識しません... –