
汇编语言问题,求详解。
输入接口的程序,已知状态端口的地址为80E6HMOVDX,80E6HPOLL:INAL,DXTESTAL,01HJZPOLLDECDXINAL,DX当状态端口的D0=0时...
输入接口的程序,已知状态端口的地址为80E6H
MOV DX,80E6H
POLL: IN AL,DX
TEST AL,01H
JZ POLL
DEC DX
IN AL,DX
当状态端口的D0=0时,求DX
求详细解题过程。 展开
MOV DX,80E6H
POLL: IN AL,DX
TEST AL,01H
JZ POLL
DEC DX
IN AL,DX
当状态端口的D0=0时,求DX
求详细解题过程。 展开
1个回答
展开全部
这里面最重要的一句是:
TEST AL,01H
这条语句的意思是,将你所说的状态端口(8位)与0000 0001进行与运算,下面一句JZ POLL,意思是如果上面那个与运算的结果是0,则跳到POLL标号的地方继续执行,你这里D0=0,与运算后结果为0,所以程序一直在:
POLL: IN AL,DX
TEST AL,01H
JZ POLL
这三句执行。 DX就一直是端口的地址值80E6H啊.
TEST AL,01H
这条语句的意思是,将你所说的状态端口(8位)与0000 0001进行与运算,下面一句JZ POLL,意思是如果上面那个与运算的结果是0,则跳到POLL标号的地方继续执行,你这里D0=0,与运算后结果为0,所以程序一直在:
POLL: IN AL,DX
TEST AL,01H
JZ POLL
这三句执行。 DX就一直是端口的地址值80E6H啊.
追问
答案是DX=80E5H
追答
那就是,你的D0肯定有一个高电平的信号输入,被检测到以后,就跳出了POLL循环,然后执行
DEC DX
IN AL,DX
这两条语句,然后就是你说的那个答案,否则你D0一直是0的话不可能是那个答案的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?

2023-06-12 广告
单片机汇编程序是用汇编语言编写的程序,用于控制单片机的操作。汇编语言是一种比较接近计算机硬件语言的低级语言,相对于高级语言来说更容易理解和实现。下面是单片机汇编程序的基本步骤:1. 将代码和数据汇编到规定的段中。2. 在存储器中用未初始化的...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询