| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 610 人关注过本帖
标题:关于王爽汇编语言第二版的一个定址表的问题
取消只看楼主 加入收藏
h262591533
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-2-23
结帖率:0
收藏
已结贴  问题点数:20 回复次数:1 
关于王爽汇编语言第二版的一个定址表的问题
子程序源代码如下:(是向屏幕输出0~F,制作的表)
  showbyte:jmp short show
            table db '0123456789ABCDEF'     ;字符表
            
       show:push bx
            push es

            mov ah,al
            shr ah,1
            shr ah,1
            shr ah,1                         ;右移4位,AH中得到高4位的值
            shr ah,1                         ;al中为低4位的值

            mov bl,ah
            mov bh,0
            mov ah,table[bx]                 ;用高4位的值做相对于table的偏移,取得对应的字符

            mov bx,0b800h                    ;写入显存
            mov es,bx
            mov es:[160*12+40*2],ah

            mov bl,al
            mov bh,0
            mov al,table[bx]                 ;用低4位的值做相对于table的偏移,取得对应的字符

            mov es:[160*12+40*2+2],al

            pop es
            pop bx

            ret
在说到这个问题的时候,书本并没有给出完整的程序,只有这一个子程序。
问题1:AX的值并未给出,为什么要将AL赋给AH?
问题2:为什么要右移4位?
问题3:到底程序是如何建立了映射关系?

感谢各位大大抽时间给小弟解答!
搜索更多相关主题的帖子: 源代码 子程序 
2011-02-23 12:41
h262591533
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-2-23
收藏
得分:0 
回复 2楼 ansic
大哥,本书我看完了,我就是怎么都不能理解这个,关键是没有整个程序出来,AX的没有被赋值,怎么能用他做偏移地址寻找到对应的字符呢?
2011-02-23 12:49
快速回复:关于王爽汇编语言第二版的一个定址表的问题
数据加载中...
 
   



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

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