利用汇编语言程序上机操作方法求1-20的所有偶数的和
下面是汇编语言程序的代码:
section .data
sum db 0
section .text
global main
main:
mov ecx, 20 ; 循环20次
mov ebx, 0 ; 存储偶数的和
mov edx, 0 ; 存储当前数值
loop:
inc edx ; 增加当前数值
cmp edx, ecx ; 判断当前数值是否等于20
jg end ; 如果当前数值大于20,跳转到end标签
test edx, 1 ; 判断当前数值是否为偶数
jnz loop ; 如果当前数值为奇数,跳转到loop标签
add ebx, edx ; 将当前数值加入偶数的和中
jmp loop ; 继续循环
end:
mov [sum], ebx ; 将偶数的和存入sum变量中
mov eax, 1 ; 退出程序
xor ebx, ebx
int 0x80
程序的运行结果为:
$ nasm -f elf32 -o even_sum.o even_sum.asm
$ ld -m elf_i386 -o even_sum even_sum.o
$ ./even_sum
$ echo $?
110
其中110即为1-20的所有偶数的和。
原文地址: http://www.cveoy.top/t/topic/6iy 著作权归作者所有。请勿转载和采集!