当前位置: 代码迷 >> 汇编语言 >> 8086的段定位有关问题,应该不难,求解答,mydo,zara等众大侠给看看吧。
  详细解决方案

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

热度:4751   发布时间:2013-02-26 00:00:00.0
8086的段定位问题,应该不难,求解答,mydo,zara等众大侠给看看吧。。。
Assembly code
assume cs:codesgcodesg segment page;代码段定义为页边界 start:  mov ax,0123h  mov bx,0456h  add ax,bx    mov ax,4c00h  int 21h  codesg endsend 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:datadata segment page at 2000h  db ?data endscodesg 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 endsend 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
如代码所示,代码段定义……