【正确答案】程序如下:
PORTA=308H
PORTB=309H
CONTROL=30BH
DCONS=10H
DATA SEGMENT
MESS DB 0DH,0AH,'PRESSANYKEYTOEXIT…',0AH,0DH,'$'
DATA ENDS
CG SEGMENT'CODE'
ASSUME CS:CG,DS:DATA
BEGIN: PUSH DS
XOR AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV DX,OFFSET MESS
MOV AH,9
INT 21H
MOV DX,CONTROL
MOV AL,90H
OUT DX,AL
MOV AH,0FFH
MOV BL,0
LP: PUSH AX
MOV AH,0BH
INT 21H
CMP AL,0
JNE BACK
POP AX
MOV DX,PORTA
INAL,DX
NOP
NOP
TEST AL,AH
JZ SHIFT
MOV DX,PORTB
OUT DX,AL
JMP LP
SHIFT: MOV AL,BL
MOV DX,PORTB
0UT DX,AL
CALL DELAY
SHL BL,1
TEST BL,AH
JNZ LP
MOV BL,1
JMP LP
BACK: POP AX
RETF
DELAY PROC NEAR
PUSH AX
MOV BH,DCONS
DDLY: MOV CX,0
DELAY1:DEC CX
LOOP DELAY1
DEC BH
TEST BH,AH
JNZ DDLY
POP AX
DELAY ENDP
CG ENDS
END BEGIN
【答案解析】