;把BX中"1"的个数放到AL中,并在屏幕上显示"1"的个数. data segment h1 dw 0fffh data ends stack segment stack h2 db 100 dup(?) stack ends code segment assume cs:code,ds:data,ss:stack start:mov ax,data mov ds,ax mov bx,h1 mov ax,0 p1: cmp bx,0 jz x3 shl bx,1 jnc x2 inc al ;计数 x2: jmp p1 x3: cmp al,9 jbe l1 add al,6 ;大于9加6 l1: mov ch,al mov cl,4 shr al,cl add al,30h call z1 mov al,ch and al,0fh add al,30h call z1 mov ah,4ch int 21h z1 proc push ax push bx push cx push dx mov dl,al mov ah,2 int 21h pop dx pop cx pop bx pop ax ret z1 endp code ends end start