汇编真蛋疼。。。。。。。。。但还蛮有意思的
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 |