dw 0123H,0456H,0789H,0ABCH,0DEFH,0FEDH,0CBAH,0987H
dw 0,0,0,0,0,0,0,0
start:
mov ax,cs
mov ss,ax
mov sp,10H
mov bx,0EH
mov ax,0
mov ds,ax
mov cx,8
copydata:
push ds:[bx];
add bx,-2
loop copydata
老师代码段中放栈空间那节,这样写怎么不对?直接把栈设在cs中bx逆向取ds中数据,为啥ds中数据会错乱,不是我设置的值?不用出栈有问题?
老师我定义的
assume cs:code,ds:data,ss:stack
data segment
db 'vaSicv'
db 'INFOrmaTI0N'
data ends
stack segment
dw 0,0,0,0
dw 0,0,0,0
dw 0,0,0,0
dw 0,0,0,0
stack ends
code segment
start: mov ax,data
mov ds,ax
mov bx,0
mov dl,11011111B
mov cx,6
int0:
and ds:[bx],dl
inc bx
loop int0
code ends
end start
为什么我的电脑定义数据 或 栈不是16的倍数呢 是紧紧的连在一起的
如上
db 'vaSicv'
db 'INFOrmaTI0N'
这个应该是两行可是我的电脑里面是紧紧的跟在后面的
还有 dw 0,0,0,0 共4行
不是应该定义4个字型的吗4行吗
可我电脑定义出来只有两行
windows7
求老师解惑 是不是也有别的同学有这样子的问题
发表观点要登录哦!点击登录
发表观点要登录哦!点击登录
我也来评论