8086的段定位有关问题,应该不难,求解答,mydo,zara等众大侠给看看吧。

8086的段定位问题,应该不难,求解答,mydo,zara等众大侠给看看吧。。。
Assembly code

assume cs:codesg

codesg segment page;代码段定义为页边界
 
start:
  mov ax,0123h
  mov bx,0456h
  add ax,bx
  
  mov ax,4c00h
  int 21h
  
codesg ends

end start


如代码所示,代码段定义为页边界
1、可是用debug调试时发现cs寄存器的值是2DEE,也就是说代码段地址是2DEE0,并不能被256整除,请问是为什么啊?
2、我如果想用codesg segment page at xxxx(256整除地址),用debug调试的时候提示拒绝访问,请解惑,感谢!

------解决方案--------------------
1 用masm61x试试

2 虽然使用para选项,但并不一定代表汇编器会应用此op,有些选项汇编器会简单忽略。
------解决方案--------------------
Assembly code

assume cs:codesg, ds:data
data segment page at 2000h
  db ?
data ends
codesg segment ; [color=#FF0000]page at code segment is illegal[/color].
start:
  mov ax,0123h
  mov bx,0456h
  add ax,bx
  
  mov ax,4c00h
  int 21h
  
codesg ends

end start

------解决方案--------------------
探讨
Assembly code

assume cs:codesg

codesg segment page;代码段定义为页边界

start:
mov ax,0123h
mov bx,0456h
add ax,bx
mov ax,4c00h
int 21h
codesg ends
end start
如代码所示,代码段定义……