观阴大仕 发表于 2013-4-11 22:51:34

快来人啊!!!向内存写入数据执行后目标地址不是之前写入的数据

本帖最后由 观阴大仕 于 2013-4-11 22:56 编辑

汇编语言实验9向b800:720写入数据0277h,执行后目标地址的数据却是0720h。这是什么情况啊,之前自己写的代码以为是代码问题,后来换了甲鱼老师的代码也是如此,求大神快快出现,急急急!!!!!!!!
assume cs:code,ds:data,es:e

data segment
      
      db      'welcome to masm!'
      
data ends

e segment

      dw      4000 dup (0)
      
e ends      

code segment

start:      mov ax,data
                mov ds,ax
                mov ax,0b800h
                mov es,ax
               
                mov bx,0
                mov si,0
                mov cx,16
s:                mov al,      
                mov ah,2h
                mov es:720h,ax
               
                add si,2
                inc bx
                loop s
               
                mov ax,4c00h
                int 21h
               
code ends
end start               
                编译连接后用debug直接结果如下:

观阴大仕 发表于 2013-4-11 23:12:02

自己顶一下。。。。。想了下是不是显存中的内容是即时的,向显存中写入了马上就输出到显示器上了,而不保存。。。。。不知道是不是这样子。。。。。自问自答。。。

小甲鱼 发表于 2013-4-12 03:18:32

观阴大仕 发表于 2013-4-11 23:12 static/image/common/back.gif
自己顶一下。。。。。想了下是不是显存中的内容是即时的,向显存中写入了马上就输出到显示器上了,而不保存 ...

0277h从何而来?看代码没有这个数字呀?显示器等IO设备对于操作系统来说都是文件,是一样处置的。
页: [1]
查看完整版本: 快来人啊!!!向内存写入数据执行后目标地址不是之前写入的数据