试用子程序结构编写一程序:从键盘输入一个两位十进制的月份数,然后显示出相应的英文缩写名。汇编语言要

2024-12-15 13:09:27
推荐回答(1个)
回答1:

DATAS SEGMENT
MONTH DB 'JanFebMarAprMayJunJulAugSepOctNovDec'
MESS DB ' INPUT THE MONTH:',0DH,0AH,'$'
NUM DB 3 ;按照标准应该是2 ,但是我写2 就是不行,可能是我软件的问题
DB ?
DB 2 DUP(0,?)
DATAS ENDS

CODES SEGMENT
ASSUME CS:CODES,DS:DATAS
START: MOV AX,DATAS
MOV DS,AX
LEA DX,MESS
MOV AH,9
INT 21H
LEA DX,NUM
MOV AH,0AH
INT 21H
MOV AX,0
ADD AL,NUM+2
AND AL,0FH
MOV CL,10
MUL CL
MOV DX,AX
MOV AX,0
MOV AL,NUM+3
AND AL,0FH
ADD AX,DX
SUB AX,1
MOV CL,0003H
MUL CL
MOV BX,AX
MOV CL,3
SHOW: MOV DL,MONTH[BX]
INC BX
MOV AH,2
INT 21H
LOOP SHOW
JMP START
MOV AX,4C00H
INT 21H
CODES ENDS
END START

已经调试过了 没问题 但是一定要输入两位数 比如一月要输入01