[section .text]
mov ax,cs
mov ds,ax
mov es,ax
mov ax,2
mov dx,4
C1: ;循环开始前为2+4
add ax,dx
shl dx,1 ;左移一次为*2 比如 4*2=8 8*2=16 16*2=32
cmp dx,128
jna C1 ;如果dx 等于或小于128 循环继续
mov ax,04c00h ;程序结束
int 21h
用nasm编译
MOV DX,0
MOV AX,2
L1:
ADD DX,AX
ADD AX,2
CMP AX,128
JBE L1
;结果存DX中