wrtiestring 应是以null为结尾的byte string.
所以 add esi, type source 是危险的, 最后没留 null 字符的空间
inc esi 也很怪, 只填了 source 预留的 40 bytes 中的前 10 个 byte
assume MASM 帮你 initialize source 40 个 bytes 为 0, 则 inc esi
的结果当然是 10 个 'A'
至于 add esi, type source, 可能是因为前 4 个 bytes 填入 XX 00 00 00
(assume little endian and XX 是 A 的 ASCII code)
writestring 的结果就会是 A
以上纯属推测, 我想 debug 看一下 source 的内存内容就知道正确结果,
有错请帮忙更正
另外, 请问你是本课程的修课学生吗? '敝校教授'中的'敝校'是指?
※ 引述《Jimmy0398 ()》之铭言:
: 之前写一个简单的小程式,要产生10个随机英文字母到字串中。
: 可是我发现有点问题,和观念有点初入。翻书没获得简答...以下是Code
: