汇编语言小程序
时间: 2023-09-16 12:14:22 浏览: 52
下面是一个简单的汇编语言小程序,可以计算 1+2+3+...+10 的结果并将结果输出到屏幕上:
```
section .data
num db 0
sum db 0
section .text
global _start
_start:
mov byte [num], 10 ; 将10存入num变量
mov byte [sum], 0 ; 将0存入sum变量
mov byte bl, 1 ; 将1存入bl寄存器
mov byte bh, [num] ; 将num变量的值存入bh寄存器
loop:
add byte [sum], bl ; 将bl寄存器的值加到sum变量中
inc bl ; 将bl寄存器的值加1
dec bh ; 将bh寄存器的值减1
jnz loop ; 如果bh寄存器的值不为0,就跳转到loop标签继续执行
mov ah, 0x0e ; 设置输出函数号
mov al, [sum] ; 将sum变量的值存入al寄存器
add al, 48 ; 将al寄存器的值加上48,得到对应的ASCII码
int 0x10 ; 调用BIOS中断,将al寄存器的值输出到屏幕上
mov ah, 0x4c ; 设置退出函数号
xor al, al ; 将al寄存器清零
int 0x21 ; 调用DOS中断,退出程序
```
这个程序使用了汇编语言中的基本指令,包括mov、add、inc、dec、jnz等。通过循环计算 1+2+3+...+10 的值,并使用BIOS中断将结果输出到屏幕上。程序最后使用DOS中断退出程序的执行。