主题:高手帮我看下!除法的内容是错的,要怎样改呢?(新手请教)
DATAS SEGMENT
A DB ?
B DB ?
D DB ?
E DB ?
F DB ?
X DW ?
Y DW ?
Z DW ?
BUF DB 10 DUP (?)
STR0 DB 10,13,' ************************************$'
STR1 DB 10,13,' * si wei shu xiang cheng xi tong *$'
STR2 DB 10,13,' * cheng shu : *$'
STR3 DB 10,13,' * bei cheng shu: *$'
STR4 DB 10,13,' * *$'
STR5 DB 10,13,' jie guo :$'
;此处输入数据段代码
DATAS ENDS
PR MACRO BUFF
MOV AH,9
LEA DX,BUFF
INT 21H
ENDM
CLEAR MACRO ;清屏
PUSH AX
PUSH BX
PUSH CX
PUSH DX
MOV AH,2
MOV DH,0
MOV DL,0
INT 10H
MOV AH,6
MOV AL,0
MOV BH,13
MOV CX,0
MOV DX,184FH
INT 10H
POP DX
POP CX
POP BX
POP AX
ENDM
CLE MACRO X,Y ;清部分屏
PUSH AX
PUSH BX
PUSH CX
PUSH DX
MOV AH,2
MOV DH,0
MOV DL,0
INT 10H
MOV AH,6
MOV AL,0
MOV BH,27
MOV CH,X
MOV CL,35
MOV DH,Y
MOV DL,51
INT 10H
POP DX
POP CX
POP BX
POP AX
ENDM
ZW MACRO X,Y ;置位
MOV AH,2
MOV DH,X
MOV DL,Y
MOV BH,0
INT 10H
ENDM
STACKS SEGMENT
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
CLEAR
PR STR0
PR STR4
PR STR1
PR STR4
PR STR4
PR STR2
PR STR4
PR STR3
PR STR4
PR STR0
CLE 6,8
F1:
MOV F,1
CLE 6,6
ZW 6,35
CALL INPUT
MOV Y,AX
F2:
MOV F,0
CLE 8,8
ZW 8,35
CALL INPUT
MOV Z,AX
JMP F4
F3:
CMP F,1
JE F1
JMP F2
F4:
MOV AX,Y
MUL Z
MOV X,10000
DIV X
MOV CX,DX
MOV BX,AX
MOV AX,CX
MOV X,100
DIV X
MOV A,AH
MOV B,AL
MOV AX,BX
DIV X
MOV D,AH
MOV E,AL
MOV F,10
MOV BX,0
MOV AL,A
CBW
DIV F
CMP AH,0
JNE F6
F5:
MOV BUF[BX],AL
MOV AL,B
CBW
DIV F
INC BX
MOV BUF[BX],AH
INC BX
MOV BUF[BX],AL
MOV AL,D
CBW
DIV F
INC BX
MOV BUF[BX],AH
INC BX
MOV BUF[BX],AL
MOV AL,E
CBW
DIV F
INC BX
MOV BUF[BX],AH
INC BX
MOV BUF[BX],AL
INC BX
MOV BUF[BX],'$'
ZW 12,2
PR STR5
PR BUF
JMP EXIT
F6:
MOV BUF[BX],AH
INC BX
JMP F5
EXIT: ;此处输入代码段代码
MOV AH,4CH
INT 21H
INPUT PROC
PUSH BX
PUSH CX
PUSH DX
MOV AH,1 ;千位
INT 21H
CMP AL,30H
JS F3
CMP AL,3AH
JNS F3
SUB AL,30H
MOV A,AL
MOV AH,1 ;百位
INT 21H
CMP AL,30H
JS F3
CMP AL,3AH
JNS F3
SUB AL,30H
MOV B,AL
MOV AH,1 ;十位
INT 21H
CMP AL,30H
JS F3
CMP AL,3AH
JNS F3
SUB AL,30H
MOV D,AL
MOV AH,1 ;个位
INT 21H
CMP AL,30H
JS F3
CMP AL,3AH
JNS F3
SUB AL,30H
MOV E,AL
MOV AL,A
MOV BX,1000
MUL BX
MOV X,AX
MOV AL,B
MOV BX,100
MUL BX
ADD AX,X
MOV X,AX
MOV AL,D
MOV BL,10
MUL BL
ADD AX,X
MOV X,AX
MOV AL,E
CBW
ADD AX,X
POP DX
POP CX
POP BX
RET
INPUT ENDP
CODES ENDS
END START
A DB ?
B DB ?
D DB ?
E DB ?
F DB ?
X DW ?
Y DW ?
Z DW ?
BUF DB 10 DUP (?)
STR0 DB 10,13,' ************************************$'
STR1 DB 10,13,' * si wei shu xiang cheng xi tong *$'
STR2 DB 10,13,' * cheng shu : *$'
STR3 DB 10,13,' * bei cheng shu: *$'
STR4 DB 10,13,' * *$'
STR5 DB 10,13,' jie guo :$'
;此处输入数据段代码
DATAS ENDS
PR MACRO BUFF
MOV AH,9
LEA DX,BUFF
INT 21H
ENDM
CLEAR MACRO ;清屏
PUSH AX
PUSH BX
PUSH CX
PUSH DX
MOV AH,2
MOV DH,0
MOV DL,0
INT 10H
MOV AH,6
MOV AL,0
MOV BH,13
MOV CX,0
MOV DX,184FH
INT 10H
POP DX
POP CX
POP BX
POP AX
ENDM
CLE MACRO X,Y ;清部分屏
PUSH AX
PUSH BX
PUSH CX
PUSH DX
MOV AH,2
MOV DH,0
MOV DL,0
INT 10H
MOV AH,6
MOV AL,0
MOV BH,27
MOV CH,X
MOV CL,35
MOV DH,Y
MOV DL,51
INT 10H
POP DX
POP CX
POP BX
POP AX
ENDM
ZW MACRO X,Y ;置位
MOV AH,2
MOV DH,X
MOV DL,Y
MOV BH,0
INT 10H
ENDM
STACKS SEGMENT
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
CLEAR
PR STR0
PR STR4
PR STR1
PR STR4
PR STR4
PR STR2
PR STR4
PR STR3
PR STR4
PR STR0
CLE 6,8
F1:
MOV F,1
CLE 6,6
ZW 6,35
CALL INPUT
MOV Y,AX
F2:
MOV F,0
CLE 8,8
ZW 8,35
CALL INPUT
MOV Z,AX
JMP F4
F3:
CMP F,1
JE F1
JMP F2
F4:
MOV AX,Y
MUL Z
MOV X,10000
DIV X
MOV CX,DX
MOV BX,AX
MOV AX,CX
MOV X,100
DIV X
MOV A,AH
MOV B,AL
MOV AX,BX
DIV X
MOV D,AH
MOV E,AL
MOV F,10
MOV BX,0
MOV AL,A
CBW
DIV F
CMP AH,0
JNE F6
F5:
MOV BUF[BX],AL
MOV AL,B
CBW
DIV F
INC BX
MOV BUF[BX],AH
INC BX
MOV BUF[BX],AL
MOV AL,D
CBW
DIV F
INC BX
MOV BUF[BX],AH
INC BX
MOV BUF[BX],AL
MOV AL,E
CBW
DIV F
INC BX
MOV BUF[BX],AH
INC BX
MOV BUF[BX],AL
INC BX
MOV BUF[BX],'$'
ZW 12,2
PR STR5
PR BUF
JMP EXIT
F6:
MOV BUF[BX],AH
INC BX
JMP F5
EXIT: ;此处输入代码段代码
MOV AH,4CH
INT 21H
INPUT PROC
PUSH BX
PUSH CX
PUSH DX
MOV AH,1 ;千位
INT 21H
CMP AL,30H
JS F3
CMP AL,3AH
JNS F3
SUB AL,30H
MOV A,AL
MOV AH,1 ;百位
INT 21H
CMP AL,30H
JS F3
CMP AL,3AH
JNS F3
SUB AL,30H
MOV B,AL
MOV AH,1 ;十位
INT 21H
CMP AL,30H
JS F3
CMP AL,3AH
JNS F3
SUB AL,30H
MOV D,AL
MOV AH,1 ;个位
INT 21H
CMP AL,30H
JS F3
CMP AL,3AH
JNS F3
SUB AL,30H
MOV E,AL
MOV AL,A
MOV BX,1000
MUL BX
MOV X,AX
MOV AL,B
MOV BX,100
MUL BX
ADD AX,X
MOV X,AX
MOV AL,D
MOV BL,10
MUL BL
ADD AX,X
MOV X,AX
MOV AL,E
CBW
ADD AX,X
POP DX
POP CX
POP BX
RET
INPUT ENDP
CODES ENDS
END START