在实验五的第5题中,我使用了SS作为数据段C的段地址寄存器,程序编译是没有问题的,可是,我总是有些不放心,在没有用到堆栈的程序中,可不可以使用SS寄存器来操作数据,对于程序的运行有没有影响?希望大家能够帮帮我,解决我的疑虑。谢谢
下面附上我的程序,跟踪运行了,是没有错误的,得到的结果也和题目要求的一样。(因为我是用masm6.15编译的,所以将C改成了C1)
assume cs:code
a segment
db 1,2,3,4,5,6,7,8
a ends
b segment
db 1,2,3,4,5,6,7,8
b ends
c1 segment
db 0,0,0,0,0,0,0,0
c1 ends
code segment
start: mov ax,a
mov es,ax
mov ax,b
mov ss,ax
mov ax,c1
mov ds,ax
mov bx,0
mov ax,0
mov cx,8
s: mov al,es:[bx]
add al,ss:[bx]
mov [bx],al
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end start |