下面的指令有无错误,如有,错在哪里

来源:百度知道 编辑:UC知道 时间:2024/06/25 18:36:47
①TEST [BP],BL
②AND DH,DL
③SHR [BX][DI],3
④LEA DS,35[SI]
⑤PUSH 45[DI]
另外,在8086/8088 CPU中可用作地址指针的寄存器有哪些?
谢谢

①TEST [BP],BL; 无错
②AND DH,DL; 无错
③SHR [BX][DI],3; 有错,移位位数超过1时用CL,应该改为MOV CL,3 SHR [BX][DI],CL
④LEA DS,35[SI]; 有错,LEA指令中不能用段寄存器,应该改为LEA BX,35[SI]
⑤PUSH 45[DI]; 如果DI指令字属性变量就没有错误
在8086/8088 CPU中可用作地址指针的寄存器有BX、BP、SI、DI这四个。

没有

第3条要看你用的汇编软件是否支持,有些低版本的不允许后面直接打3,而要把3先存入某寄存器的
地址指针寄存器不应该是固定的么