masm汇编语言求十个无符号数的最大值和最小值
时间: 2023-11-06 09:04:35 浏览: 155
下面是使用MASM汇编语言编写的求十个无符号数的最大值和最小值的示例代码:
```
.386
.model flat, stdcall
.stack 4096
.data
arr DWORD 1, 5, 3, 9, 7, 2, 4, 6, 8, 0
n DWORD 10
max DWORD ?
min DWORD ?
.code
main PROC
mov ecx, n
lea esi, arr
mov eax, [esi]
mov max, eax
mov min, eax
add esi, 4
loop_start:
cmp ecx, 1
jle loop_end
mov ebx, [esi]
cmp ebx, max
jle max_not_changed
mov max, ebx
max_not_changed:
cmp ebx, min
jge min_not_changed
mov min, ebx
min_not_changed:
add esi, 4
dec ecx
jmp loop_start
loop_end:
invoke printf, addr max_fmt, max
invoke printf, addr min_fmt, min
invoke getchar
xor eax, eax
ret
main ENDP
.data
max_fmt db "Max value: %u", 10, 0
min_fmt db "Min value: %u", 10, 0
end
```
这个程序使用一个数组 `arr` 存储十个无符号数,然后使用循环遍历数组中的每个数,同时记录当前已经遍历过的数中的最大值和最小值,最后输出它们。
阅读全文