汇编真蛋疼。。。。。。。。。但还蛮有意思的

 

?View Code ASM
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
DATAS SEGMENT
    ;此处输入数据段代码
    scanf db 20
    n 	  db ?
    x 	  dw ?
DATAS ENDS
;INC会影响标志位
STACKS SEGMENT
    ;此处输入堆栈段代码
STACKS ENDS
 
CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
    MOV AX,DATAS
    MOV DS,AX
    ;此处输入代码段代码
    ;读入一个十进制数存成可直接使用的数字
    mov dx, offset scanf
 	mov ah, 0ah
 	int 21h
 	lea bx,scanf
 	xor ax,ax
 	inc bx
 	inc bx
 	xor cx,cx
 	xor dx,dx
s1:
	mov dl,[bx]
	cmp dl,0dh
	je s2
	push ax
	push bx
	xor ax,ax
	xor bx,bx
	mov ax,10
	sub dx,30h
	mov bx,cx
	push dx
	mul bx
	mov cx,ax
	pop dx
	add cx,dx
	pop bx
	pop ax
	inc bx
s2:
	jne s1
	mov x,cx
 
    MOV AH,4CH
    INT 21H
CODES ENDS
    END START