MOV AH,1;输入并回显N
INT 21H
push ax
MOV AH,2;回车换行
MOV DL,0AH
INT 21H
MOV DL,0DH
INT 21H
pop ax
有些函数会改变AX寄存器里的值,你能通过吗在我电脑上编译都通不过。
STCK SEGMENT STACK 'STACK'
DW 32 DUP (0)
STCK ENDS
DATA SEGMENT
INPUT DB 'Please input n(0~9): $'
LFB DW 00H, 01H, 08H, 27H, 64H, 125H, 216H, 343H, 512H, 729H
OUTPUT DB 4 DUP(?), '$'
N DB 0
DATA ENDS
CODE SEGMENT
ASSUME SS:STCK, CS:CODE, DS:DATA
START PROC FAR
PUSH DS
SUB AX, AX
PUSH AX
MOV AX, DATA
MOV DS, AX
;-----------------------
MOV DX, OFFSET INPUT
MOV AH, 9
INT 21H
MOV AH, 1
INT 21H
MOV N, AL
MOV AH, 2
MOV DL, 0AH
INT 21H
MOV DL, 0DH
INT 21H
MOV BL, N
MOV BH, 0
AND BL, 0FH
SHL BX, 1
MOV AX, LFB[BX]
ADD AH, 30H
MOV OUTPUT, AH
MOV CL, 4
SHL AX, CL
AND AH, 0FH
ADD AH, 30H
MOV OUTPUT + 1, AH
SHL AX, CL
AND AH, 0FH
ADD AH, 30H
MOV OUTPUT + 2, AH
MOV DX, OFFSET OUTPUT
MOV AH, 9
INT 21H
RET
;-----------------------
START ENDP
CODE ENDS
END START