| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 587 人关注过本帖
标题:关于汇编指令xlat代码问题,哪位大虾帮忙看看,看了好多天就是不理解先谢谢 ...
只看楼主 加入收藏
zkzq
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2013-1-5
结帖率:0
收藏
 问题点数:0 回复次数:1 
关于汇编指令xlat代码问题,哪位大虾帮忙看看,看了好多天就是不理解先谢谢啦
程序实现功能:循环不断从8255的c口输入二进制0~fH,换码后从a口输出,如果键盘上有按键就退出循环返回到dos
程序代码:
方式字=10001001B
A、B、C、控制口地址为0E488H、0E489H0E48AH、0E48BH

DATA SEGMENT
LED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H
    DB 7FH,67H,77H,7CH,39H,5EH,79H,71H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
      MOV DS,AX
      MOV AL,89H,
      MOV DX,0e48BH,
      OUT DX,AL
INOUT:MOV DX,0E48AH
      IN AL,DX     
      AND AL,OFH     ;经过and后AL的值是多少?
      MOV BX,OFFSET DATA
      XLAT
      MOV DX,OE488H
      OUT DX,AL
      MOV AH,1
      INT 16H
      JZ INOUT
      MOV AH,4CH
      INT 21H
CODE ENDS
    ENDSTART


我想问第一次执行AND AL,OFH 时,AL=?,我是按al=3fh计算的,第一次xlat后,al=bx+(al and ofh),al=71h,第二次xlat后,al= bx+(71h and 0fh),al=06h,第三次xlat后,al= bx+(06h and 0fh),al=7dh,第四次xlat后,al= bx+(7dh and 0fh),al=5eh,第五次xlat后,al= bx+(5eh and 0fh),al=79h,第六次xlat后,al= bx+(79h and 0fh),al=67h,第七次xlat后,al= bx+(67h and 0fh),al=07h,第八次xlat后,al= bx+(07h and 0fh),al=07h,第九次第十次。。。。,以后都是07h了,死循环了吗?我这样计算对吗?哪位高手帮忙看看

顺便可否帮忙告诉下怎么根据电路图计算8255的四个端口地址啊?
谢谢啦
搜索更多相关主题的帖子: 二进制 
2013-01-05 21:37
sholu
Rank: 1
等 级:新手上路
帖 子:11
专家分:9
注 册:2013-3-14
收藏
得分:0 
,,
2013-03-27 19:10
快速回复:关于汇编指令xlat代码问题,哪位大虾帮忙看看,看了好多天就是不理解先 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.010648 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved