主题:[求助]微机接口的一道题
;在1000H开始的内存中,放有1000个ASCII字符,请设计一程序,将这串ASCII字符以异步串行通信方式从8255A PB0输出,采用偶校验、一位起始位、一位终止位、波特率500 (可调用1ms软件定时程序 “D1MS”):参考程序如下,但是我看不懂他的意思,麻烦 高手帮我注释下哈,谢谢
MOV SI ,1000H
MOV CX ,1000
MOV DX ,30FH ;(口地址共4分)
MOV AL ,10000000B ;(控制字1分)
OUT DX,AL ;
MOV DX,30DH ;这是PB口的地址吗?
MOV AL ,0FFH ;发停止位,为什么要有这个呢?停止位可不可以自己
定 义?
OUT DX ,AL
CALL D1MS
CALL D1MS
L1: MOV BL ,8 ; 这句话的作用?
MOV AL ,0
OUT DX ,AL ;发起始位
CALL D1MS
CALL D1MS
MOV AL ,[SI]
AND AL ,AL
JP L2
OR AL ,80H
L2: OUT DX ,AL
CALL D1MS
CALL D1MS
ROR AL,1
DEC BL
JNZ L2
MOV AL ,0FFH
OUT DX ,AL
CALL D1MS
CALL D1MS
INC SI
LOOP L1
HLT;
MOV SI ,1000H
MOV CX ,1000
MOV DX ,30FH ;(口地址共4分)
MOV AL ,10000000B ;(控制字1分)
OUT DX,AL ;
MOV DX,30DH ;这是PB口的地址吗?
MOV AL ,0FFH ;发停止位,为什么要有这个呢?停止位可不可以自己
定 义?
OUT DX ,AL
CALL D1MS
CALL D1MS
L1: MOV BL ,8 ; 这句话的作用?
MOV AL ,0
OUT DX ,AL ;发起始位
CALL D1MS
CALL D1MS
MOV AL ,[SI]
AND AL ,AL
JP L2
OR AL ,80H
L2: OUT DX ,AL
CALL D1MS
CALL D1MS
ROR AL,1
DEC BL
JNZ L2
MOV AL ,0FFH
OUT DX ,AL
CALL D1MS
CALL D1MS
INC SI
LOOP L1
HLT;