求帮忙,每条指令错误的原因 MOV [BX],20 MOV DS,10A0 MOV SS,DS MOV [BX],[SI] MOV 6,AL MOV AL,BX

2024-11-28 22:04:15
推荐回答(1个)
回答1:

  • MOV [BX],20

  错在20是以字节型数据存储到[BX]呢,还是以字型数据存储到[BX]

  如果是字节型的话

  那么改成这样MOV BYTE PTR [BX],20

  如果是字型的话

       那么改成这样MOV WORD PTR [BX],20

 

 

  • MOV DS,10A0

  错在立即数不能直接传送给段寄存器

  这样改就可以了

  MOV AX,10A0H

       MOV DS,AX

 

 

  • MOV SS,DS

  两个段寄存器不能直接传送数据

  这样改就可以了

  MOV AX,DS   

       MOV SS,AX

 

 

  • MOV [BX],[SI]

  和第一个一样,不知道是传送字型数据还是字节数据

  这样改就可以了

  MOV BYTE PTR [BX],[SI]

  或者

       MOV WORD PTR [BX],[SI]

 

 

  • MOV 6,AL 

    错在立即数不能作为目的操作数

 

  • MOV AL,BX

    错在操作数的类型不匹配,AL是8位,BX是16位

 

    PS:若有不明白的地方,可以追问