2020FZU汇编语言学习–实验(二)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/2012990a7b1d3626a538594462d2ff03.png)
include Irvine32.inc
.data
n equ 5
str1 dword n dup(?)
str2 byte '最大值为:',0
.code
main proc
mov ecx,n
xor esi,esi
again:
call readint
mov str1[esi],eax
add esi,4
loop again
xor esi,esi
mov ecx,n
mov eax,str1[esi]
again1:
add esi,4
cmp eax,str1[esi]
jg next
mov eax,str1[esi]
next:
loop again1
;mov edx,offset str2 输出max
;call writestring
;call writeint
exit
main endp
end main
;第二次做的时候按照新的思路来写发现不对,原来是MOVSX和MOVZX的区别搞混了
MOVSX:先符号扩展,再传送。用符号位将高位填充,低位用数值为填充。
MOVZX:先零扩展,再传送
MOVZX不用像MOVSX哪样,先判断符号,再填充,MOVZX直接用0来填充