急求,大家帮忙

GTR马力 GTR马力 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
,实现8255三个口编程从一个口输出数据再从另一个口输入数据,判断输入的数据和输出的数据是否吻合,若吻合,再反过来,从原来的输入口输出数据再从原来的输出口输入数据,若吻合,则证明这两个口是好的,否则就是有问题。

我编的程序如下:
code segment
assume cs:code
start:
mov dx,203h
mov al,90h
out dx,al
mov dx,200h
mov al,0ffh
out dx,al
mov dx,201h
in al,dx
cmp al,0ffh
jnz a;此处无论怎样都会跳转到a,是怎么回事?


mov dx,203h
mov al,82h
out dx,al
mov dx,201h
mov al,0ffh
out dx,al
mov dx,200h
in al,dx
cmp al,0ffh
jnz a
;c口第四位输入,高四位输出
mov dx,203h
mov al,81h
out dx,al
mov dx,202h
mov al,0ffh
;out dx,al
and al,0fh ;屏蔽c口高4位
mov cl,4 ;左移4位到高位
shl al,cl
out dx,al ;输出高4位
mov dx,202h
in al,dx
and al,0fh ;屏蔽c口高4位
mov cl,4 ;左移4位到高位
shl al,cl
cmp al,0f0h
jnz a

;C口高四位输入,地四位输出

mov dx,203h
mov al,88h
out dx,al
mov dx,202h
mov al,0ffh

and al,0fh ;屏蔽c口高4位
out dx,al ;输出高4位
mov dx,202h
in al,dx
and al,0f0h ;屏蔽c口低4位
mov cl,4 ;右移4位到高位
shr al,cl
cmp al,0fh
jnz a

a:mov dx,210h
mov al,0fh
out dx,al
call delay
delay proc near
push cx
mov cx,0ffh
loop $
pop cx
ret
delay endp
code ends
end start
mov ah,4ch
int 21h
...全文

相关推荐

评论 3
收藏 已收藏
分享
返回顶部
GTR马力
硬件设计 6,172 成员 11,288 内容