试编写一采用查表法求1~20的平方数子程序(要求:x在累加器a中,1≤x≤20,平方数高位存放在r6,低位在r

来源:百度知道 编辑:UC知道 时间:2024/05/28 16:56:20
帮帮忙啊!

MAIND SEGMENT
NUM DB 30 DUP(?)
MAX DB ?
MIN DB ?
MESG1 DB 'MAX:$'
MESG2 DB 'MIN:$'
MAIND ENDS

MAINC SEGMENT
MAIN PROC FAR
ASSUME CS:MAINC,DS:MAIND
START: PUSH DS
XOR AX,AX
PUSH AX
MOV AX,MAIND
MOV DS,AX

CALL KEYIN
CALL S_MAX
CALL S_MIN
JMP MAIN
RET
MAIN ENDP
;-----------------------------
KEYIN PROC NEAR
MOV BL,0
MOV DI,OFFSET NUM
ONCEA: MOV [DI],BL
INC DI
NEWCHAR: MOV AH,01H
INT 21H
CMP AL,0
JZ ONCEA
CMP AL,0DH
JZ EXIT1
SUB AL,30H
JL EXIT2
CMP AL,10
JL TRANS
SUB AL,07H
CMP AL,0AH
JL EXIT2
CMP AL,10H
JGE EXIT2
TRANS: MOV CL,4
SHL BL,CL
ADD BL,AL
JMP NEWCHAR
EXIT1: MOV [DI],BL
INC DI
MOV BYTE PTR[DI],24H
EXIT2: RET
KEYIN ENDP
;-----------------------------