注册 登录
编程论坛 汇编论坛

DS:[BX]

小旭哥 发布于 2013-03-29 20:11, 1012 次点击
汇编中,DS:[BX]这个组合是不是不可以呀 我下面的程序不能编译
总是提示我 MOV AL, DS:[BX]发生错误

.486

CODE SEGMENT USE16
    ASSUME CS:CODE
   
    BEGIN:
        MOV CX, 000BH   ;存放循环次数
        MOV BX, 0000H    ;存放最终结果
        
        MOV AX, 0FFFFH
        MOV DS, AX        ;把段基址放在DS中
        MOV DX, 0000H   ;存放偏移地址
        
    AGAIN:
        MOV AL, DS:[DX]
        MOV AH, 00H
        ADD BX, AX
        INC DX
        LOOP AGAIN
        
        MOV AX, 4CH
        INT 21H
CODE ENDS
END BEGIN
4 回复
#2
wp2319572013-04-02 11:45
dx 比al大 要强制转换
#3
yinjiahjk2013-06-04 23:05
MOV AL, DS:[DX]
在相对寻址里有这么个规则
在[...]里面只能放BX,BP,SI,DI,你放了个DX,这是不允许的。
#4
l12067951572013-06-06 14:11
      可以将bx和dx的用途交换一下,bx是基址寄存器可以用来存放偏移地址
#5
relaxpeng2013-06-13 19:44
死活没找到你程序中的DS:[bx],到时看到了不该看到的[dx] ,3楼说的对
1