我是汇编语言的新手,可以使用一些帮助。我应该创建一个使用内联汇编(masm)和c ++的程序,该程序将文本字符串(最多127个字符)输入到缓冲区中,然后计算文本中每个字符有多少个实例。
例如如果您的字符串是“ baby”
然后b-2,a-1,y-1
组装时唯一需要做的就是识别字符并计算字母/数字的实例个数。然后,每个字符的实例将放入另一个缓冲区。所有这些将在名为CountData()的函数中完成。其他所有内容都可以用c ++编写。
到目前为止,我具有输入文本并将其存储在缓冲区中的功能,但是我仍然需要编写一个CountData()函数(在汇编中),该函数读取整个字符串并识别每个字符,然后跟踪多少个字符每个都有。但是我对如何使用汇编语言访问字符串感到困惑。我可以使用for循环并在其中编写汇编代码吗?如果是这样,汇编代码是否可以访问函数的变量/数据?我尝试查找示例,但实际上找不到任何相关内容。不想为我完成家庭作业,只需要向正确的方向稍加推动即可。预先感谢您的帮助。
class BaseClass
{
private:
const int characterNumber = 127;
cont int asciiNumber = 59;
char InputBuffer[characterNumber];
char CountBuffer[asciiNumber];
public:
InputData()
{
string sentence;
cout << "Enter a sentence to have its characters counted: " << endl;
cin.getline(InputBuffer, characterNumber);
}
CountData()
{
}
};
我想这可能被认为是作弊,但是就像old_timer在评论中说的那样,用c ++编写它,然后指示编译器发出汇编。使用msvc时,开关为/ Fa,您可能希望包含/ Od以禁用优化,因此并不是那么不可思议。
一旦您看到了编译器是如何完成的,您将更好地了解如何进行编译。