王爽汇编语言(第三版)实验五
题目:
assume cs:code,ds:data,ss:stack
data segment
dw 0123h,0456h,0789h,0abch,0defh,0cbah,0987h
data ends
stack segment
dw 0,0,0,0,0,0,0,0
stack ends
code segment
start: mov ax,stack
mov ss,ax
mov sp,16
mov ax,data
mov ds,ax
push ds:[0]
push ds:[2]
pop ds:[2]
pop ds:[0]
mov ax,4c00h
int 21h
code ends
end start
(1)
data段中的数据
(2)CS=076C,SS=076B,DS=076A
(3)使用-g指令全部执行后,结果如下。
假设code段地址为X,则data段地址为X-2,stack段地址为X-1
题目:
assume cs:code,ds:data,ss:stack
data segment
dw 0123h,0456h
data ends
stack segment
dw 0,0
stack ends
code segment
start: mov ax,stack
mov ss,ax
mov sp,16
mov ax,data
mov ds,ax
push ds:[0]
push ds:[2]
pop ds:[2]
pop ds:[0]
mov ax,4c00h
int 21h
code ends
end start
(1)data为 0123h,0456h
(2)
CS=076C,SS=076B,DS=076A
(3)运行后 假设code段地址为X,则data段地址为X-2,stack段地址为X-1
(4)如果段中占用N个字节,则程序加载后,实际占有空间为(N/16)×16(如果不满16字节,用0补满该程序对应的机器码所占用的最高地址空间的16字节空间)
题目:
(1)data为 0123h,0456h
(2)CS=076A,SS=076E,DS=076D
(3) 假设code段地址为X,则data段地址为X+3,stack段地址为X+4。
题目:
(4)不指明程序入口,那么程序会直接从最开始运行,所以只有程序(3)可以正常运行
题目:
mov ax,a
mov ds,ax
mov bx,0
mov es,bx
mov ax,c
mov ss,ax
mov ax,0
mov bx,0
mov cx,8
s:add ax,ds:[bx]
add ax,es:[bx]
mov ss:[bx],ax
mov ax,0
inc bx
loop s
题目:
mov ax,b
mov ss,ax
mov sp,10h
mov ax,a
mov ds,ax
mov bx,0
mov cx,8
s:push ds:[bx}
add bx,2
loop s