用Masm for windows,1以 DAT 开始的数据区存放 10个8 位无符号数:12,34, 63,25,76,88,93,46,74,27×编程统 计其中偶数的个数,并将结果是示输出。
时间: 2024-05-15 18:12:47 浏览: 167
以下是使用 MASM for Windows 编写的程序,用于计算给定的 10 个 8 位无符号数中的偶数个数并输出结果:
```
.386
.model flat, stdcall
option casemap:none
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\masm32.inc
include \masm32\include\user32.inc
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\masm32.lib
includelib \masm32\lib\user32.lib
.data
numbers db 12,34,63,25,76,88,93,46,74,27
count dw ?
.code
start:
mov ecx, 10 ; 循环计数器初始化为 10
mov bx, 0 ; 偶数计数器初始化为 0
mov esi, OFFSET numbers ; 取得数组首地址
count_loop:
mov al, [esi] ; 取得数组元素值
test al, 1 ; 检查最低位是否为 1,即是否为奇数
jnz odd_number ; 如果是奇数,跳转到 odd_number 标签
inc bx ; 如果是偶数,偶数计数器加 1
odd_number:
inc esi ; 指针偏移 1,指向下一个数组元素
loop count_loop ; 循环 10 次
mov count, bx ; 将偶数计数器的值保存到 count 变量中
; 输出结果
invoke MessageBox, NULL, ADDR count, ADDR numbers, MB_OK
invoke ExitProcess, 0
end start
```
程序的运行结果会弹出一个对话框,显示给定的数组中的偶数个数。在本例中,偶数的个数为 5,因此对话框会显示数字 5。
阅读全文