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

📄 1_4_3.asm

📁 汇编程序求1个数的四次方
💻 ASM
字号:
;
STACK SEGMENT PARA STACK 'STACK'
      DB 256 DUP(0)
STACK ENDS
;
DATA SEGMENT PARA PUBLIC 'DATA'
PARM DB 128 DUP(0)
MSG  DB "PLEASE INPUT YOUR NUMBER! $"
ER   DB "SORRY ERROR! $"
DATA ENDS
;
CODE SEGMENT PARA PUBLIC 'CODE'
;
START  PROC FAR
      ASSUME CS:CODE
       PUSH DS
       MOV AX,0
       PUSH AX
       MOV AX,DATA
       MOV ES,AX
       ASSUME ES:DATA
       MOV SI,80H
       MOV DI,OFFSET PARM
       MOV CX,80H
       CLD
       REP MOVSB
;
       MOV DS,AX
       ASSUME DS:DATA
       CMP PARM,2
       JNC  GO
       MOV DX,OFFSET MSG
       CALL DISPLAY
       MOV AH,0
       INT 16H
       CALL DISCHAR
       PUSH AX
       MOV AL,0DH
       CALL DISCHAR
       MOV AL,0AH
       CALL DISCHAR
       POP AX
       JMP LP
GO:    MOV AL,PARM+2
LP:    CMP AL,30H
       JC  ERR
       CMP AL,3AH
       JNC ERR
       AND AL,0FH
       MUL AL
       MUL AX
       MOV BX,1000
       DIV BX
       CALL BTOASC
       CALL DISCHAR
       MOV AX,DX
       MOV BL,100
       DIV BL
       CALL BTOASC
       CALL DISCHAR
       MOV AL,AH
       MOV AH,0
       MOV BL,10
       DIV BL
       CALL BTOASC
       CALL DISCHAR
       MOV AL,AH
       CALL BTOASC
       CALL DISCHAR
       ret
ERR:   MOV DX,OFFSET ER
       CALL DISPLAY
       MOV AH,0
       INT 16H
       CALL DISCHAR
       PUSH AX
       MOV AL,0DH
       CALL DISCHAR
       MOV AL,0AH
       CALL DISCHAR
       POP AX
       
       RET

;
START ENDP
;
DISCHAR PROC NEAR
	PUSH BX
	PUSH AX
	MOV BX,0
	MOV AH,0EH
	INT 10H
	POP AX
	POP BX
	RET
DISCHAR ENDP
;
BTOASC PROC NEAR
       ADD AL,30H
       RET
BTOASC ENDP
;
DISPLAY PROC NEAR
	MOV AH,09H
	INT 21H
	RET
DISPLAY ENDP
;
CODE ENDS
     END START


⌨️ 快捷键说明

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