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

📄 计算器.txt

📁 一个用汇编语言编写的计算器
💻 TXT
字号:
DATA SEGMENT 
     STRING   DB 'PLEASE PRESS NUMBER 1,2,3,4,5:',0DH,0AH,'$' 
     BUFF     DB 10 
              DB ? 
              DB 10 DUP(?) 
     ARRAY1 DB 'PLEASE INPUT THE FIRST NUMBER:',0DH,0AH,'$' 
     ARRAY2 DB 'PLEASE INPUT THE SECOND NUMBER:',0DH,0AH,'$' 
     ARRAY3 DB 10 
            DB ? 
            DB 10 DUP(?) 
     ARRAY  DW 2 DUP(?) 
     RESULT DB 4 DUP(?),'$' 
DATA ENDS 
CODE SEGMENT 
     ASSUME CS:CODE,DS:DATA 
START:MOV AX,DATA 
      MOV DS,AX 
      MOV AH,00H 
      MOV AL,06H 
      INT 10H 
      MOV DX,OFFSET ARRAY1 
      MOV AH,9 
      INT 21H 
      MOV DX,OFFSET BUFF 
      MOV AH,0AH 
      INT 21H 
      CALL ABC 
      MOV ARRAY,AX 
      MOV DX,OFFSET ARRAY2 
      MOV AH,9 
      INT 21H 
      MOV DX,OFFSET BUFF 
      MOV AH,0AH 
      INT 21H 
      CALL ABC 
      MOV ARRAY+2,AX 
      MOV AH,09H 
      MOV DX,OFFSET STRING 
      INT 21H 
      MOV DX,OFFSET ARRAY3 
      MOV AH,0AH 
      INT 21H 
      MOV BX,DX 
      MOV AL,[BX+2] 
      CMP AL,'1' 
      JZ A1 
      CMP AL,'2' 
      JZ A2 
      CMP AL,'3' 
      JZ A3 
      CMP AL,'4' 
      JZ A4 
      CMP AL,'5' 
      JZ A5 
  A1: MOV AX,ARRAY 
      MOV BX,ARRAY+2 
      ADD AL,BL 
      ADC AH,0 
      CALL DEF 
      JMP LAST 
  A2: MOV AX,ARRAY 
      MOV BX,ARRAY+2 
      CMP AL,BL 
      JAE K0 
      JMP K1 
    K0:SUB AL,BL 
       CALL DEF 
       JMP LAST 
    K1:PUSH AX 
       MOV AH,02H 
       MOV DL,'-' 
       INT 21H 
       POP AX 
       SUB BL,AL 
       MOV AL,BL 
       CALL DEF 
       JMP LAST 
  A3: MOV AX,ARRAY 
      MOV BX,ARRAY+2 
      MUL BL 
      CALL DEF 
      JMP LAST 
  A4: MOV AX,ARRAY 
      MOV BX,ARRAY+2 
      DIV BL 
      MOV AH,0 
      CALL DEF 
      JMP LAST 
  A5:JMP LAST 
  ABC   PROC 
        MOV CL ,2 
        MOV CH,0 
        MOV BX,OFFSET BUFF+2 
        PUSH BX 
        PUSH CX 
 L0:    SUB [BX],30H 
        INC BX 
        LOOP L0 
        POP CX 
        POP BX 
        MOV AH,0 
        MOV AL,0 
        MOV SI,10 
 L1:    MUL SI 
        ADD AL,[BX] 
        ADC AH,0 
        INC BX 
        LOOP L1 
        RET 
  ABC   ENDP 
  DEF   PROC 
        MOV SI,OFFSET RESULT 
        SUB DX,DX 
        MOV BX,1000 
        DIV BX 
        ADD AL,30H 
        MOV [SI],AL 
        MOV AX,DX 
        MOV BL,100 
        DIV BL 
        ADD AL,30H 
        MOV [SI+1],AL 
        MOV AL,AH 
        SUB AH,AH 
        MOV BL,10 
        DIV BL 
        ADD AL,30H 
        MOV [SI+2],AL 
        ADD AH,30H 
        MOV [SI+3],AH 
        MOV DX,OFFSET RESULT 
        MOV AH,9 
        INT 21H 
        RET 
 DEF   ENDP 
 LAST:  MOV AH,4CH 
     INT 21H 
CODE ENDS 
     END START 

⌨️ 快捷键说明

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