⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 asd.asm

📁 汇编语言写的程序
💻 ASM
字号:
data segment
	msg1 db 'Enter:','$'
	err  db 'Enter Error!','$'
	buf  db 20
	     db ?
	     db 20 dup(?)
	fnu1 db 0     
	num1 dw 0
	fnu2 db 0
	num2 dw 0
	oper db 0
	flag1 db 0
	flag2 db 0
	crlf db 13,10,'$'
data ends
code segment
	main proc far
	assume cs:code,ds:data
start:
     push ds
     sub ax,ax
     push ax
     
     mov ax,data
     mov ds,data
     
     lea dx,msg1
     mov ah,9
     int 21h
     
     lea dx,buf
     mov ah,10
     int 21h
     
     mov dl,buf+1
     lea si,buf+2
again:
     mov al,[si]
     test flag1,01h
     jnz follow
      
     cmp al,2dh
     jnz next
     mov fnu1,1
     inc si
     dec dl
     jnz again
     jmp error
     
     
next:    
     sub al,30h   
     jl error   
     cmp al,9d   
     jg error 
     mov flag1,1
     cbw   
     xchg ax,bx   
     mov cx,10d   
     mul cx   
     xchg ax,bx   
     add bx,ax
     inc si
     dec dl
     jnz again
follow:
     test flag2,01h
     jnz follow2
     sub al,30h   
     jl error   
     cmp al,9d   
     jg error 
     mov flag2,1
     cbw   
     xchg ax,bx   
     mov cx,10d   
     mul cx   
     xchg ax,bx   
     add bx,ax
     inc si
     dec dl
     jnz again
follow2:
     test oper,01h
     jnz follow3
     
     cmp al,2bh
     jnz next1
     mov oper,1
     mov num1,bx
     mov bx,0
     inc si
     dec dl
     jnz again
 next1:
     cmp al,2dh
     jnz next2
     mov oper,2
     mov num1,bx
     mov bx,0
     inc si
     dec dl
     jnz again
 next2:
     cmp al,2ah
     jnz next3
     mov oper,3
     mov num1,bx
     mov bx,0
     inc si
     dec dl
     jnz again
 next3:
     cmp al,2fh
     jnz follow3
     mov oper,4
     mov num1,bx
     mov bx,0
     inc si
     dec dl
     jnz again
follow3:
    cmp al,oah
    jz  exit
    sub al,30h   
    jl error   
    cmp al,9d   
    jg error 
    cbw   
    xchg ax,bx   
    mov cx,10d   
    mul cx   
    xchg ax,bx   
    add bx,ax
    inc si
    dec dl
    jnz again
error:
     mov ah,9
     lea dx,err
     int 21h
     jmp end1    
exit:
    mov num2,bx
     end1:
   ret
   main endp
 code ends
 end start  
        
    
     
     
               
          
     
     		

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -