无名侠 发表于 2013-11-10 10:57:07

对0b800 输入数据没有显示在屏幕上

ASSUME    CS:code,DS:data
            data SEGMENT
            DB      'Hello ,world',0
            data ENDS
            code SEGMENT
            start:
            MOV       AX,data
            MOV       DS,AX
            MOV       BX,0
            MOV       SI,0
            MOV       AX,0b800h
            
            MOV       ES,AX
            print:
            MOV       CH,0
            MOV       CL,
            JCXZ      exit
            MOV       AH,02h
            MOV       AL,
            MOV       ES:,AX
            INC       BX
            ADD       SI,2
            JMP       SHORT print
            exit:
            MOV       AX,4c00h
            INT       21h
            code ENDS
            END       start我没有再到错误原因在哪里!

1236 发表于 2013-11-10 12:57:27

ASSUME    CS:code,DS:data
data SEGMENT
                DB      'Hello ,world',0
data ENDS

code SEGMENT
start:

                  MOV       AX,data
                  MOV       DS,AX
                  MOV       BX,0
                  MOV       AX,0b800h
                  MOV       ES,AX                                        ;基址          
                  mov                si,0720h
                  mov                 ch,0          
          
print:
                  MOV       CL,
                  JCXZ       exit                                        ;遇到了0就退
                  MOV      al,                                        ;H传递过去
                  MOV      byte ptr   ES:,al                                ;传递一个字节
                  MOV      byte ptr   es:,02h          
                  INC      BX
                  ADD       SI,2h
                  JMP       SHORT print
                  exit:
                  
                  MOV       AX,4c00h
                  INT       21h
          
code ENDS你仔细看看我给你改了哪里

无名侠 发表于 2013-11-10 13:29:52

1236 发表于 2013-11-10 12:57 static/image/common/back.gif
你仔细看看我给你改了哪里

为什么si是720h?

1236 发表于 2013-11-10 14:40:15

/se陈愉鑫/se 发表于 2013-11-10 13:29 static/image/common/back.gif
为什么si是720h?

额 你干嘛纠结这个啊,这个是显示位置,我只是让他在中间显示,你好好看看王爽书上说的B800开始 一个字符占两个字节 第一个字节是内容,第二个是颜色。。。给你提示了再去看看

无名侠 发表于 2013-11-10 14:58:19

1236 发表于 2013-11-10 14:40 static/image/common/back.gif
额 你干嘛纠结这个啊,这个是显示位置,我只是让他在中间显示,你好好看看王爽书上说的B800开始 一个字符 ...

我不想显示在中间

1236 发表于 2013-11-10 15:16:27

/se陈愉鑫/se 发表于 2013-11-10 14:58 static/image/common/back.gif
我不想显示在中间

不想显示在中间,那就改偏移啊,这些书上都讲了,代码多练,没人会闲的来帮你的

无名侠 发表于 2013-11-10 15:30:41

1236 发表于 2013-11-10 15:16 static/image/common/back.gif
不想显示在中间,那就改偏移啊,这些书上都讲了,代码多练,没人会闲的来帮你的

知道了 。 你的代码还是有问题!显示不出来,在 exit处加上一个jmp

页: [1]
查看完整版本: 对0b800 输入数据没有显示在屏幕上