汇编程序设计,从键盘输入0~9之间的任一个数,用查表法求其立方值,存放在y自变量中,将求得的结果显示在屏

将求的结果显示在屏幕上,要程序

这个是我写的,求的是平方的,楼主改一下数据段就好了
DATAS SEGMENT
TABLE DB 00H,01H,04H,09H,16H,25H,36H,49H,64H,81H
DATAS ENDS

STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
MOV AH,07H
INT 21H
AND AL,0FH
MOV DL,AL
XOR DH,DH
MOV BX,OFFSET TABLE
ADD BX,DX
MOV AL,[BX]
MOV CL,04H
MOV BL,AL
SHR AL,CL
MOV DL,AL
ADD DL,30H
MOV AH,02H
INT 21H
AND BL,0FH
MOV DL,BL
ADD DL,30H
MOV AH,02H
INT 21H
MOV AH,4CH
INT 21H
CODES ENDS
END START
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-07-10
微机原理与接口技术,实验项目三练习3,用8086运行
DATA SEGMENT
OUT_TABLE DW PF0, PF1, PF2, PF3, PF4, PF5, PF6, PF7, PF8, PF9
;PIFANG_TABLE
PF0 DB '0 $'
PF1 DB '1 $'
PF2 DB '4 $'
PF3 DB '9 $'
PF4 DB '16 $'
PF5 DB '25 $'
PF6 DB '36 $'
PF7 DB '49 $'
PF8 DB '64 $'
PF9 DB '81 $'
INFOR1 DB "Please input a number(<10):$"
INFOR2 DB 13,10,"The cube of the number is:$" ;13,10,可用0AH,ODH,替换,都表示换行回车
DATA ENDS

CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START:
MOV AX, DATA
MOV DS, AX

MOV DX,OFFSET INFOR1 ;输入提示信息1
MOV AH,09H
INT 21H

MOV AH, 01H
INT 21H ;输入一字符

PUSH DX
PUSH AX
MOV DX,OFFSET INFOR2
MOV AH,09H
INT 21H
POP AX
POP DX

CMP AL, '0'
JB EXIT
CMP AL, '9'
JA EXIT
AND AL, 0FH ;AL=0~9
MOV AH, 0
MOV BX, AX ;BX=0~9
ADD BX, BX
MOV AX, [BX] ;查表得出结果
LEA DX, OUT_TABLE
ADD DX, AX

; PUSH AX
; PUSH DX
; MOV DX,OFFSET INFOR2
; MOV AH,09H
; INT 21H
; POP DX
; POP AX

MOV AH, 9 ;显示
INT 21H

EXIT:
MOV AX, 4CH
INT 21H

CODE ENDS
END START