这段程序实现了端口的循环显示。由于无法调试,如果延时不正常,请修改红色的0FFH部分
DATAS SEGMENT
;此处输入数据段代码
DATAS ENDS
STACKS SEGMENT
STACK DB 256 DUP( ? )
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
MOV CX,02H
MOV AL,01H
LOOPSTART:
MOV DX,367H
OUT DX,AL
ROL AL,01H
CALL DELAY
CMP CX,80H
JNZ LOOPSTART
LOOP LOOPSTART
EOF:
MOV AH,4CH
INT 21H
DELAY PROC NEAR
PUSH CX
MOV CX,0FFH
;此处输入数据段代码
DATAS ENDS
STACKS SEGMENT
STACK DB 256 DUP( ? )
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
MOV CX,02H
MOV AL,01H
LOOPSTART:
MOV DX,367H
OUT DX,AL
ROL AL,01H
CALL DELAY
CMP CX,80H
JNZ LOOPSTART
LOOP LOOPSTART
EOF:
MOV AH,4CH
INT 21H
DELAY PROC NEAR
PUSH CX
MOV CX,0FFH
DELAYLOOP:
NOP
LOOP DELAYLOOP
POP CX
RET
DELAY ENDP
NOP
LOOP DELAYLOOP
POP CX
RET
DELAY ENDP
CODES ENDS
END START