百思不得骑姐
assume cs:code, ds:data, ss:starkdata segment
dw 0123h,0456h,0789h,0321h,0654h,0987h
data ends
stark segment
dw 0,0,0,0,0,0
stark ends
code segment
start:mov ax,data
mov ds,ax
mov bx,0
mov sp,0
mov cx,6 ;使用6次循环
s: mov ss,ds:
add bx,2
add bx,2
loop s
mov ax,4c00h
int 21h
code ends
end start
我想把数据段的数据放到栈中 可是debug 调试的时候 CPU 第一条指令指向20个字节后 但是更气人的是第一条指令竟然是CS的值放入到了ax中 大虾帮我看看那里有问题谢谢了
楼主你堆栈没用好 你对sp怎么个用法还不是很清楚 还有循环里面只要用一次add bx,2就够了 建议楼主把 甲鱼哥的(汇编零基础入门视频)讲堆栈的视频多看两遍 然后自己再回过头来找出其中的错误 mov ax,data,这时cs:ip指向data段,没有问题啊 api 发表于 2011-12-6 12:15 static/image/common/back.gif
mov ax,data,这时cs:ip指向data段,没有问题啊
大哥 ,栈那里出问题了,好不好,还没问题{:5_99:} mov ss,ds:
这里将数据段的数放在堆栈段寄存器里是什么意思? 100531319 发表于 2011-12-6 13:16 static/image/common/back.gif
大哥 ,栈那里出问题了,好不好,还没问题
代码我没细看,只看了楼主的问题。不过现在看这代码和提出的问题,楼主头脑很乱啊,跟我以前学习指针一样。 api 发表于 2011-12-6 18:29 static/image/common/back.gif
代码我没细看,只看了楼主的问题。不过现在看这代码和提出的问题,楼主头脑很乱啊,跟我以前学习指针一样 ...
不是乱,你就不懂了把,乱能骑姐{:5_106:},你就不行了吧,这叫NB {:5_109:} {:7_176:}楼主能把代码写成这样也不容易,别骑姐了骑哥吧,呵呵.至少有两个问题:1大概不理解assume和mov seg.reg,ax的关系,2,对栈指针sp不太了解
请认真看小甲鱼哥哥的视频
页:
[1]