关于第6章的最后一题小虾编了段 大侠们看对么,望指点迷津~
编写CODE段中的代码,用PUSH指令将A段中的前8个字型数据,逆序存储到B段中程序如下:
assume cs:code,ds:a,ss:b
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,24 ;定义栈空间
mov bx,0
mov cx,8 ;有8个数据,所以循环8次
S: push ds: ;入栈
add bx,2 ;加2指向下一个字型数据
loop s ;循环
mov ax,4c00h
int 21h
code ends
end start ///
////////////////
我不知道以上栈定义是不是有问题呀,
还有第一句的 ds:a,ss:b 是不是多余的呀?看还有木有问题? 谢谢 感谢!
mov sp,24
改成
mvo sp,16
因为b段为栈段
b segment
dw 0,0,0,0,0,0,0,0
b ends
共8个字,16个字节。
栈为空,sp指向16。(这里如果不明白参考问题3.6的分析)
别的没有错误
Seely 发表于 2015-3-11 22:35
mov sp,24
改成
mvo sp,16
嗯 tks{:7_113:}
页:
[1]