汇编程序 强人们帮个忙啊

来源:百度知道 编辑:UC知道 时间:2024/05/24 17:01:32
从键盘上接收一位十进制数X,计算Y值,并以十六进制形式显示出来,Y按下列公式计算。Y=X的平方+X (X=3) Y=X的平方-2X (X=4) Y=X的平方(X=5) Y=X的平方除以2 (X=6)

ASSUME CS:CODE,DS:DATA,SS:STACK
DATA SEGMENT
NUMBER DB 0
STR1 DB 'Please enter a number:$'

DATA ENDS
STACK SEGMENT STACK
DB 80 DUP(0)
STACK ENDS
CODE SEGMENT
START: MOV AX,DATA
MOV DS,AX
MOV AX,STACK
MOV SS,AX
MOV DX,OFFSET STR1
MOV AH,09H
INT 21H
MOV AH,01H
INT 21H
SUB AL,30H
MOV CL,AL
CMP CL,3H
JE X3
CMP CL,4H
JE X4
CMP CL,5H
JE X5
CMP CL,6H
JE X6
X3: MOV AL,CL
MUL AL
MOV CH,0
ADD AX,CX
JMP OUTPUT
X4: MOV AL,CL
MUL AL
MOV CH,0
SUB AX,CX
SUB AX,CX
JMP OUTPUT
X5: MOV AL,CL
MUL AL
JMP OUTPUT
X6: MOV AL,CL
MUL AL
MOV DX,AX
MOV AX,2
DIV DX
MOV AH,0
JMP OUTPUT
OUTPUT: MOV BL,10H
DIV BL
MOV DL,AL
CMP DL,09H
JA ALPHA1
JMP NUMBER1
OUTPUT1:
PUSH AX