8086的段定位有关问题,应该不难,求解答,mydo,zara等众大侠给看看吧。
8086的段定位问题,应该不难,求解答,mydo,zara等众大侠给看看吧。。。
如代码所示,代码段定义为页边界
1、可是用debug调试时发现cs寄存器的值是2DEE,也就是说代码段地址是2DEE0,并不能被256整除,请问是为什么啊?
2、我如果想用codesg segment page at xxxx(256整除地址),用debug调试的时候提示拒绝访问,请解惑,感谢!
------解决方案--------------------
1 用masm61x试试
2 虽然使用para选项,但并不一定代表汇编器会应用此op,有些选项汇编器会简单忽略。
------解决方案--------------------
- 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
------解决方案--------------------