实验五 编写、调试具有多个段的程序

时间:2021-10-24 01:24:33

实验内容:

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

实验五 编写、调试具有多个段的程序

实验五 编写、调试具有多个段的程序