实验五

一、

1、data段:0123h,0456h,0789h,0abch,0defh,0fdeh,0cbah,0897h

2、返回前:cs=076c,ss=076b,ds=076a

3、code段,段地址为X,data段为X-2,stack段为X-1

二、

1、data段仍为0123h,0456h

2、返回前cs=076c,ss=076b,ds=076a

3、code X,dataX-2,stack X-1

4、设段中数据占n个字节,加载后,实际占16*(n/16+1)

三、

1、data段不变

2、返回前cs=076a,ss=076e,ds=076d

3、code X,data X+3,stack X+4

四、可以运行

五、1、

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
c segment   
  db 0,0,0,0,0,0,0,0
c ends
        
code segment
start:
      mov ax,a
      mov ds,ax
      mov bx,0

      mov cx,8
s:    mov al,[bx]
      mov [bx+20h],al
      mov al,[bx+10h]
      add [bx+20h],al
      inc bx
      loop s

      mov ax,4c00h
      int 21h
code ends
end start

2、(1)数据相加前

(2)执行程序后

3、验证正确

 六、1、

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,0
b ends

code segment
start: 
      mov ax,a
      mov ds,ax
 
      mov ax,b
      mov ss,ax
      mov sp,16

      mov bx,0
      mov cx,8
s:    push [bx]
      inc bx
      inc bx
      loop s

      mov ax,4c00h
      int 21h
code ends
end start

2、(1)push前

(2)push后

 3、验证正确

七、

区分不同段使程序更简洁,汇编指令的活用使程序内容多样化,相同作用的程序可以由不同的代码得到

posted @ 2018-11-26 20:28  许昊  阅读(86)  评论(0编辑  收藏  举报