微机原理 端口问题

2025-12-18 04:56:02
推荐回答(3个)
回答1:

写控制字公用最后一个地址
写初值看你给A口 B口 C口,哪个写分别对应前三个地址
读数据也是一样,读哪个口,用哪个端口的地址

回答2:

中断向量放在内存开始的1024个字节之 中 他就是中断的入口地址.1CH 就是(16+12)*4开始的4个内存单元。 所以应该是从70H开始的四个单元。0070H 0071H 0072H 0073H 其实你那个5110H 是CS 2030是 IP CS放高两位,IP放低两位。所以对应0071H~0073H分别放 30H 20H 10H 51H

可屏蔽中断。就是先中断请求。然后CPU处理完当前的任务后 响应中断 响应中断的时候要关中断也就是IF=1 保存断口地址,保存FLAG寄存器。都压入栈。接着就要进入中断子程序,在中断子程序中要开中断。中断子程序结束后,要返回断口地址,也就是弹出栈CS:IP 和FLAG。 接着返回后执行下一条指令
响应之后顶部四个单元应该是先压入CS再压入IP分别对应着顶~下4个单元存放着
IP低2位 IP高2位 CS低2位 CS高2位

INT N是通过中断类型号进行的中断。调用子程序是用的
call 然后返回的时候用ret 中断是int 返回iret 这两个比较相似。
然后就是都需要保存断口地址,以留返回的时候用的哈~
不同点就是
个人认为是FLAG的保存问题。

回答3:

写控制字或写数据 时这4个端口地址是不可以随便用的。写控制字要用控制口;写数据时还看用的是哪个口,对应关系如下:
202H ——-PA口
204H ——-PB口
206H ——-PC口
208H ——-控制口