知识点:1.用于显式地指明内存单元的段地址的”ds:” “cs:” “ss:” “es:” 在汇编语言中称为段前缀
2.Dos方式下,一般情况,0:200 - 0:2ff空间中没有系统或其他程序的数据或代码。
检测点:(1)下面的程序实现依次用内存0:0 - 0:15单元中的内容改写程序中的数据,完成程序:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18assume 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单元中的内容改写程序中的数据,数据的传送用栈来进行。栈空间设置栈程序中。完成程序:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21assume cs:codesg
codesg segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
dw 0,0,0,0,0,0,0,0,0,0
start: mov ax,cs
mov ss,ax
mov sp,24h
mov ax,0
mov ds,ax
mov bx,0
mov cx,8
s: push [bx]
pop [bx]
add bx,2
loop s
mov ax,4c00h
int 21h
codesg ends
end start