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

📄 p278_2.asm

📁 本程序是汇编语言的一些基本功能的组合
💻 ASM
字号:
WAGES MACRO RATE,HOUR
  LOCAL EXITM


  MOV AX,RATE
  MUL HOUR   ;RATE*HOUR->(DX,AX)

  CMP HOUR,10D
  JB EXITM

  PUSH AX

  MOV AX,HOUR
  MOV CX,10D
  DIV CX    ;(DX,AX)/(CX)->(AX),(DX)
         
  MOV CX,3
  MUL CX    ;(AX)*(CX)->(DX,AX)

  POP CX

  ADD AX,CX

EXITM:
  MOV BX,AX 

ENDM
;-------------------
DATA SEGMENT
 MESS1 DB 'Input Rate:$'
 MESS2 DB 'Input Hour:$'
DATA ENDS

CODE SEGMENT
MAIN PROC FAR 
 ASSUME CS:CODE
START:
 PUSH DS
 SUB AX,AX
 PUSH AX

 MOV AX,DATA
 MOV DS,AX

 MOV AH,9
 LEA DX,MESS1
 INT 21H
 
 CALL DECIBIN
 PUSH BX
 CALL CRLF

 MOV AH,9
 LEA DX,MESS2
 INT 21H

 CALL DECIBIN
 CALL CRLF
 POP CX

 ;----------------
 WAGES CX,BX
 ;----------------

 CALL BINIDEC
 CALL CRLF
 
 
 RET
MAIN ENDP
;--------------------

DECIBIN   PROC   NEAR
      MOV BX,0
NEWCHAR:
      MOV AH,1
      INT 21H
      SUB AL,30H
     CMP AL,0
     JB  EXIT1
     CMP AL,9
     JNBE  EXIT1
    CBW  
  XCHG AX,BX
  MOV CX,10D
  MUL CX
  XCHG AX,BX
  ADD  BX,AX
  JMP  NEWCHAR
EXIT1:
  RET
DECIBIN   ENDP
;----------------
BINIDEC   PROC   NEAR
     PUSH  BX
     PUSH  CX
     PUSH  SI
     PUSH  DI
     MOV   DI,0
     MOV   CX,10000D
     CALL  DEC_DIV
     MOV   CX,1000D
     CALL  DEC_DIV
     MOV   CX,100D
     CALL  DEC_DIV
     MOV   CX,10D 
     CALL  DEC_DIV
     MOV   CX,1
     CALL  DEC_DIV
     POP   DI
     POP   SI
     POP   CX
     POP   BX
     RET
BINIDEC   ENDP
;---------------------
DEC_DIV   PROC   NEAR
     MOV  AX,BX
     MOV  DX,0
     DIV  CX
     MOV  BX,DX
     MOV  DL,AL
     ADD  DL,30H
     MOV  AH,2
     INT  21H
    RET
DEC_DIV   ENDP
;---------------------
CRLF   PROC   NEAR
     MOV  DL, 0DH
     MOV  AH, 2
     INT 21H
     MOV  DL, 0AH
     INT  21H
     RET
CRLF   ENDP
;---------------------
CODE ENDS
 END START

⌨️ 快捷键说明

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