鱼C论坛

 找回密码
 立即注册
查看: 2186|回复: 3

我是新手,屏幕显示的小程序出错了,路过帮下哈

[复制链接]
发表于 2012-3-21 11:50:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
assume cs:code,ds:data

data segment
         dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
data ends

code segment
start:   mov ax,data
           mov ds,ax
           sub bx,bx
           mov ax,0
           mov cx,8
     s:    add ax,[bx]
           add bx,2
           loop s
           mov dx,0b800h
           mov ds,dx
           mov bx,160*12+36*2
           mov [bx],ax

           mov ax,4c00h
           int 21h
        
code ends
end start
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-3-21 11:51:46 | 显示全部楼层
刚才忘了写了,我的思路是想把AX中的累加值在屏幕中间显示出来,不知道怎么回事就是显示不出来!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-3-21 14:49:56 | 显示全部楼层
本帖最后由 莫名其妙 于 2012-3-21 14:58 编辑

     mov dx,0b800h
           mov ds,dx
           mov bx,160*12+36*2
           mov [bx],ax
这些是不对的


这里显示的时候不是按你想想中给数据放进显示区域就行了
  因为显示区域显示的时候 一个字节的数据 低八位显示的是数据的ACSII码   高八位是显示颜色的
你要显示一个字形数据就要把他们拆开  拆成4个 1个字节的数据 然后
每个字节 按照ASCII码对应的数据进行输入 低八位放ASCII码高八位放颜色(不要颜色的时候就空着)
例如你这题累加后的结果是AX=4BDB   那么要在显示区域显示就要给数据拆成   4      B      D    B
   对应的ASCII码是 34    42  44  42  然后对着显示区域输入 比如bx=0  输入34  bx =2 输入42    bx =4 输入44  bx=6 输入42 这样才能显示出 4BDB  
具体实现部分你往后看 有一章关于显示输出 数据的 也是给数据拆开然后分别对应ASCii码输出的

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-3-22 21:57:11 | 显示全部楼层
谢谢你。。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-19 22:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表