实验三 输出20以内数的平方值
题目:输入一个0到19的数字,输出这个数的平方值
要求:1.以十进制输出
2.平方值可以事先存放在表单中
3.输入范围越界要有错误提示
4.可以重复输入,直至输入空格为止
我的思路:把0-19的平方值,放在一段存储区(一定要以字为单位,因为一个字节最大为255),按照0^2,1^2.......19^2的顺序,这样可以方便索引,比如输入5,则其平方值在表单中偏移地址为5*2,这样就可以以 BUF[EBP*2](BUF为表单首地址,EBP为输入的数值)寻址得到相应的平方值。然后的问题就是,我们以十号调用输入的为一个个字符,这样就要想办法把这一串数字符转换为十进制数,可以讲每个数字字符减去30H转换为数字然后求加权和(即乘十循环),存起来放到EBP,最后一个问题就是将在表单中索引到的十进制平方值,除10去余存放到一个指定的存储区,注意倒着存储,即先得到的余数在存储区下面。最后将此存储区内的内容输出即可。当然这中间的会遇到很多细节的问题,需要耐心调试,精心分析。做好基本符合要求的程序后,最后稍加优化,在细节上加以改进即可,当然也可以自己再添加一些功能。
另一种思路是,将平方值以字符的形式存放到表单中,这样知道输入的数值后可以直接在表单中查找到输出,不需要取余转化,但是个人感觉前一种思路更能够锻炼自己的汇编能力。
;功能:输入一个0~19的整数,输出其平方值
;作者:KDF5000
;时间:2012.11.9