编写程序,从键盘输入一个N位二进制数,统计1出现的次数。
code segment
assume cs:code
start: mov cx,9 ;N<10
mov dl,30H
next: mov ah,1
int 21h
cmp al,13
jz write
cmp al,30h
jb exit
cmp al,31h
ja exit
sub al,30h
add dl,al
dec cx
jnz next
write:
push dx
mov dl,10
mov ah,2
int 21h
pop dx
mov ah,2
int 21h
exit: mov ah,4ch
int 21h
code ends
end start
这几个题目我以前做过,我把答案发给你吧。
第6题:DATA SEGMENT
STRING1 DB 80,0,80 DUP(?)
STRING2 DB 80 DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,ES:DATA
MAIN PROC FAR
START: MOV AX,DATA
MOV DS,AX
MOV ES,AX
LEA DX,STRING1
MOV AH,0AH
INT 21H
MOV CL,[STRING1+1]
SUB CH,CH
LEA DI, STRING2
LEA SI,STRING1
ADD SI,CX
INC SI
LAB: MOV AL,[SI]
MOV [DI],AL
INC DI
DEC SI
LOOP LAB
MOV BYTE PTR[DI],'$'
LEA DX,STRING2
MOV AH,9
INT 21H
MOV AH,4CH
INT 21H
MAIN ENDP
CODE ENDS
END START
其他的我发到你邮箱
不全会。
静等高手连做九道题。