求指点哪里出错了
调试和运行都报错
下面上代码
;编写code段中的代码,用push指令将a段中的前8个字型数据逆序存储到b段中。
assume cs:code
a segment
dw 1,2,3,4,5,6,7,8,9,0ah,0bh,0ch,0dh,0eh,0fh,0ffh
a ends
b segment
dw 0,0,0,0,0,0,0,0
b ends
code segment
start:
mov ax,a
mov ds,ax
mov ax,b
mov ss,ax
mov sp,10
mov bx,0
mov cx,8
s: push
add bx,2
loop s
mov ax,4c00h
int 21
code ends
end start a和b默认的都只有偏移地址,如果取段地址需要加seg,如
mov ax,seg a
mov ds,ax 本帖最后由 流浪猫 于 2015-7-1 16:31 编辑
mov sp,10,导致栈空间不足存放数据,结果把系统重要数据改写了 各个pc的版本,系统有所差异,难免覆盖系统的数据,系统的自保功能就会启动。再换一段地址就好了{:1_1:}
希望对你有帮助 第10行mov sp,10中的10改为10h 第21行s:push改为s:push 虽然不明白,但是看着楼主的代码有种不舒服的感觉 代码真乱,没编译过,目测比较赞成5楼所说的。
页:
[1]