急求,大家帮忙

GTR马力 2009-07-01 01:12:13
,实现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
...全文
78 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
GTR马力 2009-07-01
  • 打赏
  • 举报
回复
al的值是输出端从输入端接受的值
用户 昵称 2009-07-01
  • 打赏
  • 举报
回复
al的值是什么,这是关键的。
91program 2009-07-01
  • 打赏
  • 举报
回复
跳转与上一比较语句有关

6,127

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 硬件设计
社区管理员
  • 硬件设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧