汇编语言显示1-100的和

有没有懂汇编的uu,在屏幕显示0-100的和

jmp  start
date1: db '1+2+3+4+5+....+100='

start:
    mov ax,0
    mov sp,ax
    mov ss,ax
    
    
    mov ax,0x07c0
    mov ds,ax
    
    mov ax,0xB800
    mov es,ax
    
    mov cx,(start-date1)
    
    mov bx,date1
    xor si,si

    ;打印字符串    

lp:    
    mov al,[bx]
    mov [es:si],al
    inc si
    mov byte[es:si],0x04
    inc si
    inc bx
    Loop lp
    ; 计算0-100的和

    mov cx,100
    xor dx,dx
    xor ax,ax
lp2:    
    inc ax
    add dx,ax
    Loop lp2
    
    
    mov cx,4
    mov ax,dx
    xor dx,dx
    mov bx,10
    mov bh,0
lp3:
    div bx
    push dx
    loop lp3
    
    mov cx,4
lp4:    
    pop dx
    add dl,0x30
    mov [es:si],dl
    inc si
    mov byte[es:si],0x04
    inc si
    loop lp4
    
    
    jmp $
    times 510-($-$$) db 0
    dw 0xAA55    
    

img

img


输出结果为3050而不是5050

调试一下,看看,是不是初始值没有给对