|
主题 : : 实验九 的问题 [已解决] |
回复[ 3次 ]
点击[ 216次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2010-03-13 15:08 ]
[引用]
[回复]
[ top ] | |
荣誉值:2
信誉值:0
注册日期:2010-03-05 10:51 |
我的代码是:
assuem cs:code , ss:stack , ds:data
data segment
db 'welcome to masm!' :es,si/指向
db 2h,24h,71h :es,pi/指向
data ends
stack segment
db 16 dup(0)
stack ends
code segment
start :
mov ax,0b871h
mov ds,ax
mov bx,0
mov ax,data
mov es,ax
mov ax,stack
mov ss,ax
mov sp,10h
mov si,0
mov pi,16
mov cx,3
s:
push cx
push bx
push si
push pi
mov cx,16
s1:
mov al,es:[si]
mov [bx],al
add bx,2
inc si
loop s
mov bx,1
mov cx,16
s2:
mov al,ex:[pi]
mov [bx],al
add bx,2
loop s2
pop pi
inc pi
pop si
pop bx
mov ax,ds
add ax,a :此三句是换行
mov ds,ax
pop cx
mov ax,4c00h
int 21h
code ends
end start
出现的问题是“内存空间不足”,怎么回事呀?谁能帮忙解释一下? | | |
|
|
|
|
[第1楼]
[ 回复时间:2010-03-13 15:54 ]
[引用]
[回复]
[ top ] | |
荣誉值:2
信誉值:0
注册日期:2010-03-05 10:51 |
这个 错误太多了,我修改了一下,这样的】
assuem cs:code , ss:stack , ds:data
data segment
db 'welcome to masm!' :ds,si/指向
db 2h,24h,71h :ds,pi/指向
data ends
stack segment
db 16 dup(0)
stack ends
code segment
start :
mov ax,0b871h
mov es,ax
mov ax,data
mov ds,ax
mov bx,0
mov ax,stack
mov ss,ax
mov sp,10h
mov si,0
mov pi,16
mov cx,3
s:
push cx
push bx
push si
push pi
mov cx,16
s1:
mov al,ds:[si]
mov es:[bx],al
add bx,2
inc si
loop s1
mov bx,1
mov cx,16
s2:
mov al,ds:[pi]
mov es:[bx],al
add bx,2
loop s2
pop pi
inc pi
pop si
pop bx
mov ax,es
add ax,a :此三句是换行
mov es,ax
pop cx
loop s
mov ax,4c00h
int 21h
code ends
end start
可是还是出现“内存空间不足”的问题,怎么回事呀? | | |
|
|
|
|
[第2楼]
[ 回复时间:2010-03-14 16:29 ]
[引用]
[回复]
[ top ] | |
荣誉值:2
信誉值:0
注册日期:2010-03-05 10:51 |
同志们,我是新手,别不理我呀!这样会打击我幼小的心灵的!!
这个错误我自己找出来了,就是不应该有冒号代替分好,把前面的注释前的冒号全部改成分好,再把start后的空格去掉,就基本OK了,而且这里显示的地址也不对,仍然需要修改计算,
好了,就是这样了,我不写了,我要去结贴了。 | | |
|
|
|
|
[第3楼]
[ 回复时间:2010-03-14 16:31 ]
[引用]
[回复]
[ top ] | |
荣誉值:2
信誉值:0
注册日期:2010-03-05 10:51 |
此贴由 贴主 于 [ 2010-03-14 16:31 ] 结贴。 结贴原因:问题已解决 | | |
|