在代码段中使用数据(1)和栈(2)

(1) 下面的程序实现依次用内存0:0~0:15单元中的内容改写程序中的数据,完成程序:

assume cs:codesg

codesg segment


        dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h


start:        mov ax,0

                mov ds,ax

                mov bx,0


                mov cx,8


          s:mov ax,[bx]

                mov cs:[bx],ax

                add bx,2

                loop s


                mov ax,4c00h

                int 21h

codesg ends

end start

(2) 下面的程序实现依次用内存0:0~0:15单元中的内容改写程序中的数据,数据的传送用栈来进行。栈空间设置在程序内。完成程序:

assume cs:codesg

codesg segment


        dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h

        dw 0,0,0,0,0,0,0,0,0,0                        ;10个字单元用作栈空间


start:        mov ax,cs

                mov ss,ax

                mov sp,36


                mov ax,0

                mov ds,ax

                mov bx,0

                mov cx,8


          s:push [bx]

                pop cs:[bx]

                add bx,2

                loop s


                mov ax,4c00h

                int 21h

codesg ends

end start

你可能感兴趣的:(在代码段中使用数据(1)和栈(2))