汇编实验5

1)

汇编实验5_第1张图片

1.不变

2.cs=07E4,ss=07E3,ds=07E2

3.X-2,X-1

2)

1-3同(1)

4.(N/16+1)*16

一个内存段所占的字节数必然为16的倍数,也就是说,即使我们只需要存放9个字节,分配给我们的内存段也会是16个字节容量的内存段。

3)


汇编实验5_第2张图片

1.不变

2.cs=07E2,ss=07E6,ds=07E2

3.x+3,x+4

4)

第三个程序。

一个程序执行结果正确的前提是IP(程序入口)应该指向代码段的第一条语句。end:start的作用就是规定IP的指向(程序入口)。如果没有end:start,编译器会默认代码第一条语句为程序入口。第1,2个程序中CPU会错误地把内存数据当成机器码读取,程序执行结果一定是错误的。

5)

start:

mov ax,a

mov ds,ax

mov ax,b

mov es,ax

mov ax,c

mov ss,ax

mov bx,0

mov cx,8

s:mov ax,[bx]

mov ss:[bx],ax

mov ax,es:[bx]

add ss:[bx],ax

inc bx

loop s

6)

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]

add bx,2

loop s

你可能感兴趣的:(汇编实验5)