所以,我的任务是从键盘读取最大 64位十进制数,并将该数字存储在两个32位寄存器中( EDX: EAX )。为了阅读,我必须使用名为 mio_readchar 的函数(它来自 mio库),该函数从键盘读取一个字符,并将其存储在 AL
我不知道这是否是一件容易的事,但我无法解决。如果你们能帮助我解决这个有趣的问题,我将不胜感激。谢谢大家! :d
答案 0 :(得分:2)
将其分解为更小(更简单)的部分:
将当前结果设置为零
从键盘上获取角色,检查角色是否有效(例如' 0'到' 9'而不是疯狂的事情,如#39; A'),然后减去' 0' 0从它(这样你得到一个从0到9的数字)
检查您是否可以将当前结果乘以10而不会导致溢出;然后将当前结果乘以10
检查是否可以将新数字添加到当前结果而不会导致溢出;然后将新数字添加到当前结果
跳回第二步(获取下一个字符)
注意:导致此循环停止的原因(输入密钥?),以及在各种错误条件下发生的情况,是您可以理解的。