h18755 发表于 2011-10-10 23:31:06

下面这段代码对不对?在屏幕上显示字符的,怎么编译错了

assume cs:woo,ds:nii
nii segment
db ‘haonan’
nii ends

woo segment
start: mov ax,nii
       mov ds,ax
       mov si,0
       mov ax,0b800h
       mov es,ax

       mov di,12*160+(160-6)/2

      mov cx,6
      mov al,

loops:mov es:,al

         inc si
      add di,2

      loop loops

      mov ax,4c00h
      int 21h
woo ends
end start

风扫地 发表于 2011-10-10 23:40:06

本帖最后由 风扫地 于 2011-10-10 23:53 编辑

先看看/。。

h18755 发表于 2011-10-10 23:56:34

RE: 下面这段代码对不对?在屏幕上显示字符的,怎么编译错了

风扫地 发表于 2011-10-10 23:40 static/image/common/back.gif
没给颜色赋值。还有怎么跳出loop循环?

不是设置cx=6了? 没颜色属性显不出来吗??那我看书上编辑零号中断表除法溢出的时候也没设属性

风扫地 发表于 2011-10-11 00:02:51

本帖最后由 风扫地 于 2011-10-11 00:05 编辑

h18755 发表于 2011-10-10 23:56 static/image/common/back.gif
不是设置cx=6了? 没颜色属性显不出来吗??那我看书上编辑零号中断表除法溢出的时候也没设属性
哦。。有两个地方有问题了。一个是loops的位置。。第二个是写数据的位置在后面 颜色属性在前面。所以先要inc di
assume cs:code,ds:data

data segment
db '111245'
data ends

code segment
start:
                mov ax,data
                mov ds,ax

                mov si,0
                mov ax,0b800h
                mov es,ax
                mov di,12*160+(160-6)/2
                mov cx,6
        s:
                        inc di
                mov al,ds:
                mov es:,al
                inc di
                inc si


                loop s

      mov ax,4c00h
      int 21h

code ends
end start





页: [1]
查看完整版本: 下面这段代码对不对?在屏幕上显示字符的,怎么编译错了