serverless.yml
如果我不包括这些行,则我得到9作为最大的行。但是我如果包括该提示显示,则输出为“ a”。为什么? (如果我不写东西,那不会让我上传...................................... ................................................... ................................................... ................)
msg db 'The largest no is:$'
lea dx, msg
mov ah, 9
int 21h
答案 0 :(得分:2)
您的代码溢出了字节array
。
首先,您通过al
加载mov al, [si]
来保存起始值。
然后循环引用[si+1]
十次迭代,这意味着您将al
与array+1
到array+11
进行比较。并且array+11
拥有字符“ T”,并被捕获为最高字符,因此当您在“ T”中添加48时,您会得到一个有趣的字符。
如果省略msg
,则array+11
最有可能为零,因此不会被视为最高。