Assembly 在进程内取消引用参数时出现问题

Assembly 在进程内取消引用参数时出现问题,assembly,x86-16,i386,Assembly,X86 16,I386,这是DOSBOX调试的图片 AX应该是12h,但在将[BX+2]传递给AX时它是一个随机值您可能是指MOV DS,AX而不是MOV DX,AX@MargaretBloom对!我没看到让我试试看它是否管用now@MargaretBloom它起作用了,真不敢相信我在这上面浪费了2个小时-非常感谢你你可能是指MOV-DS,AX而不是MOV-DX,AX@MargaretBloom对!我没看到让我试试看它是否管用now@MargaretBloom它成功了,真不敢相信我在这上面浪费了2个小时-非常感谢 .

这是DOSBOX调试的图片


AX应该是12h,但在将[BX+2]传递给AX时它是一个随机值

您可能是指
MOV DS,AX
而不是
MOV DX,AX
@MargaretBloom对!我没看到让我试试看它是否管用now@MargaretBloom它起作用了,真不敢相信我在这上面浪费了2个小时-非常感谢你你可能是指
MOV-DS,AX
而不是
MOV-DX,AX
@MargaretBloom对!我没看到让我试试看它是否管用now@MargaretBloom它成功了,真不敢相信我在这上面浪费了2个小时-非常感谢
.MODEL SMALL
.STACK 100h
.DATA
 a DW 12h

.CODE
 example PROC NEAR

MOV BP,SP
MOV AX , [BP+2] ; value here isn't 12h

RET 2
example ENDP

 start:

 MOV AX, @DATA
 MOV DX, AX
PUSH a
CALL example
 MOV AX , 4CH
 INT 21H
END start