吃货YA鸭 发表于 2017-6-19 13:31:19

汇编实验九(请假问题)

assume cs:code,ds:data,ss:stack
code segment
data segment
db 'welcome to masm!'
db 02h,24h,71h
data ends
stack segment
dw 8 dup(0)
stack ends
start:      mov ax,data
                mov ds,ax
                mov ax,stack
                mov ss,ax
                mov sp,10h
                mov ax,0b872h
                mov es,ax
               
                mov bx,0
                mov cx,3
               
                mov bp,0
        s:        push cx
                mov di,0
                mov si,0
                mov cx,16
       s0:mov al,ds:
                mov es:,al
                inc di
                mov al,ds:
                mov es:,al
                add si,2
               
                loop s0
                inc bp
                pop cx
                add bx,10h
                loop s
               
                mov ax,4c00h
                int 21h
code ends

end start

出现图片显示的结果,是不是不对的,要是不对应该改代码哪里呢?

吃货YA鸭 发表于 2017-6-19 13:53:47

我知道是怎么回事了,因为每次bx增加的值是不对的,可是我修改了,bx的增值,还是不对啊,做不到对齐。按理说显卡缓存是每行80个字(160个字节),也是就说,上下应该差A0h,但是添加了A0h,好像还越界了。有没有人,帮帮忙啊!!!!

3-3 发表于 2017-6-19 20:22:11

本帖最后由 3-3 于 2017-6-19 20:25 编辑


assume cs:code,ds:data,ss:stack

data segment
db 'welcome to masm!'
db 02h,24h,71h
data ends
stack segment
dw 8 dup(0)
stack ends

code segment
start:      mov ax,data
                mov ds,ax
                mov ax,stack
                mov ss,ax
                mov sp,10h
                mov ax,0b872h
                mov es,ax
               
                mov bx,0
                mov cx,3
               
                mov bp,0
      s:      push cx
                mov di,0
                mov si,0
                mov cx,16
         s0:mov al,ds:
                mov es:,al
                inc di
                mov al,ds:
                mov es:,al
                add si,2
               
                loop s0
                inc bp
                pop cx
                add bx,0a0h
                loop s
               
                mov ax,4c00h
                int 21h
code ends

end start

修改你的代码,得到的图是正确的啊

吃货YA鸭 发表于 2017-6-20 10:19:23

3-3 发表于 2017-6-19 20:22
修改你的代码,得到的图是正确的啊

好吧,。。。可能是电脑的问题吧,谢谢啦!
页: [1]
查看完整版本: 汇编实验九(请假问题)