讨论区 老师答疑区 主题详情
隔壁老王就是我
置顶 精华 老师参与 我的代码为啥不能运行啊,进debug观察发现,修改B800:0的数据没改变,而且还无法运行。在线等

assume cs:code,ds:data,ss:stack data segment    ;0123456789abcdef db 'welcome to masm!' db 16 dup (2) db 16 dup (36) db 16 dup (113) data ends stack segment db 32 dup (0) stack ends code segment start: mov ax,data mov ds,ax mov ax,stack mov ss,ax mov sp,32 mov ax,0B800H mov es,ax mov si,0 mov di,0 mov cx,2 s0: mov dx,cx mov bx,0 mov cx,16 s: mov al,[bx] mov ah,[bx+si+16] mov es:[di],ax add di,2 inc bx loop s add si,16 mov cx,dx loop s0 mov ax,4c00h int 21h code ends end start

课程

所有回复(6)

图片
匿名用户

我的代码和你的很像,屏幕虽然可以显示出来,但是我用-d es:XXXX查看的时候,发现数据并没有写进去啊,难道是边写边被擦除啦?

这是记事本吗?



同学 一定要回复啊。。。 你搞错了。。。。 你肯定运行了一下 他自动 把上面的删除了。。。

你 27行 di 的0 改成 160×10

不可能 只读数据啊。。 我去试试。。


已解决,愿来是B800:0的位置内存是只读的数据

回复

最近活动:
创建时间:
浏览次数:1693
关注人数:0