实验内容:
1、
(1)data段中的数据为:0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h;
(2)cs=076ch、ss=0769h、ds=075ah;
(3)则data段的段地址为X-2,stack段的段地址为X-1。
2、
(1)data段中的数据为:0123h,0456h
(2)cs=076ch、ss=0769h、ds=075ah
(3)则data段的段地址为X-2,stack段的段地址为X-1
(4)该段实际占有的空间为[(N+15)/16]*16
3、
(1)data段中的数据为:0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
(2)cs=076ah、ss=0769h、ds=075ah
(3)code段的段地址为X,则data段的段地址为X+3,stack段的段地址为X+4
4、
第(1)(2)不可以正确执行,第(3)可以正确执行,因为只有(3)可执行代码段在最前面。
5、
代码:
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]
add al,[bx+10h]
mov [bx+20h],al
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end start
(6)
代码:
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,16
mov cx,8
mov bx,0
s: push [bx]
add bx,2
loop s
mov ax,4c00h
int 21h
code ends
end start