回 帖 发 新 帖 刷新版面

主题:看看这个程序

DATA    SEGMENT
BUFFER    DW    812DH
          DW    012CH
          DW     ?
          DW     ?
DATA     ENDS
STACK   SEGMENT   PARA STACK   'STACK'
         DB   100 DUP(?)
STACK   ENDS 
CODE    SEGMENT
ASSUME    CS: CODE, DS: DATA                    
START  PROC      FAR 
       PUSH      DS
       MOV       AX,0
       PUSH      AX
       MOV       AX, DATA
       MOV       DS, AX  
       LEA       BX, BUFFER
       MOV       AX, [BX]
       CWD                      ;扩展为32位
       IDIV      2[BX]          ;带符号除法 
       MOV       4[BX], AX      ;存商
       MOV       6[BX], DX      ;存余数
       RET
 START ENDP
 CODE  ENDS
       END       START                                                                   
在编译的时候出现这样的错误提示“IDIV      2[BX]          ;带符号除法 ”这句话
“operand must have size”!这是什么意思啊!
请赐教!

回复列表 (共1个回复)

沙发

汇编程序并不知道2[BX]这样指定的操作数长度是多少,应改为:

IDIV  word ptr 2[BX]

我来回复

您尚未登录,请登录后再回复。点此登录或注册