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部分。
写在一个高层次的语言,然后再转换。然后使用调试器进行调试。 – 2012-03-03 21:26:11
我一直在使用调试器,但我正在学习大学课程中的汇编语言。我试着用C++编写它并转换它,但我找不到它。它似乎是将inString转换为一个单词,因为它在ax寄存器中产生0。我的老师从来没有教过我们如何比较字符串甚至转换字符串。 – todaroa 2012-03-03 21:30:42
这是什么架构?它看起来有点像i86在masm中,但我不认识'atow'或者'input' ... – 2012-03-04 00:01:23