关于div和X ptr问题
问题如下assume cs:codesg,ds:datasg
datasg segment
dd 100001
dw 100
dw 0
datasg ends
codesg segment
start:
mov ax,datasg
mov ds,ax
mov ax,
mov dx,
div word ptr ;为什么div word ptr ds:加个sreg可以编译而div word ptr 不可以?
mov word ptr ,ax ;为什么 mov word ptr ds:,ax也是这样情况?难道X ptr 格式是错误的,为什么?求解
mov ax,4c00h
int 21h
codesg ends
end start
如果不加ds,则和4是一样的!而在debug下用a指令书写汇编指令才不用加ds,直接!
当然如果idata为0,则也可以不用加ds! mov ax, 直接寻址,系统默认为段寄存器ds
MOV BX, MOV BX,MOV BX,,间接寻址,系统默认段寄存器ds
MOV BX,,系统默认段寄存器SS
而 div word ptr ,word ptr 只是告诉编译器,这里需要的内存地址是2字节而已,并没有默认的段寄存器,所以需要显示的注明,如果是div word ptr,就会默认为ds的。
mov 也一样。 liangfei44 发表于 2013-9-7 00:43 static/image/common/back.gif
mov ax, 直接寻址,系统默认为段寄存器ds
MOV BX, MOV BX,MOV BX,,间接寻址,系统默认段 ...
谢谢知道了. ??? 发表于 2013-9-6 18:12 static/image/common/back.gif
如果不加ds,则和4是一样的!而在debug下用a指令书写汇编指令才不用加ds,直接!
当然如果idata为0,则也 ...
谢谢.................. 谢谢两位热心的解答,困为两个人的回答都很好,设最挂只能设一个,所以没办法设,见谅/
页:
[1]