微机原理

您所在的位置:网站首页 赋值语句如何判断正误类型 微机原理

微机原理

2024-07-10 12:30| 来源: 网络整理| 查看: 265

微机原理判断指令是否正确【见的多了,你就懂了~】

1. MOV 1000H , BX ;指令错误,原因:立即数不能作为目标操作数。

2. MOV BX , CL ;指令错误,原因:字长不一致。

3. INC [BX] ;指令错误,原因:需指定操作数存储器操作字。

4. MOV [BX] , [6014H] ;指令错误,原因:不能同时为存储器操作字。

5. ROL AL, 2 ;指令错误,原因:循环次数超过 1 用 CL 寄存器。

6. MOV CS, AX;指令错误,原因:CS是代码段寄存器,这个寄存器保存的是代码段的首地址,并且这个寄存器只能由系统管理,用户不可更改。原因也可参照下列要求第五条。

7. MOV AL, [SI+DI];指令错误,原因:同时出现了两个变址寄存器。在基址变址相对寻址中,基址寄存器只能是BX/BP,变址寄存器只能是SI/DI。同理: MOV AL, [BX+SI]正确。

8. MOV DS,0100H;错误。源操作数是立即数时,目的操作数不能是段寄存器。

9. OUT 310H, AL;错误。端口直接寻址的范围应在0~ FFH之间。

10. MOV ES:[BX+ DI],AX ;正确。

11. MOV SS:[BX+SI+ 100H],BX ;正确。

12. ADD [SI], 20H ;错误,目的操作数类型不明确。

13. PUSH 2000H;错误。堆栈指令的操作数不能是立即数。

14. INC [DI] ;错误目的操作数类型不明确。

15. OUT BX, AL;错误。端口间接寻址的寄存器只能是DX寄存器。

16. XCHG CX, DS ;错误。交换指令中不能出现段寄存器。

17. POP AL;错误。堆栈指令的操作数只能是字操作数(即1 6位操作数)。

18. ADD BYTE PTR[BP],256 指令错。ADD指令要求两操作数等字长。

19. MOV DATA[SI],ES:AX 指令错。源操作数形式错,寄存器操作数不加段重设符。

20. JMP BYTE PTR[BX] 指令错。转移地址的字长至少应是1 6位的。

21. OUT 230H,AX 指令错。对输人输出指令,当端口地址超出8位二进制数的表达范围(即寻址的端口超出256个)时,必须采用间接寻址DX。

22. MOV DS,BP 指令正确 。

23. MUL 39H 指令错。MUL指令不允许操作数为立即数。

24. SBB DX , 10H 对。

25. INC [BP] 错 没有给出操作数的类型。

指令对操作数的要求。 MOV指令中两个操作数字长必须相同。两个操作数不能同时为存储器操作数。若要在两个存储器单元之间进行数据传送,需要两条MOV指令实现。(即用一个寄存器做中间数传参)不能用立即数直接给段寄存器赋值。两个操作数不能同时为段寄存器。一般情况下,指令指针IP及代码段寄存器CS的内容不通过MOV指令修改,即他们不能作为目标操作数,但可以作为源操作数。虽然许多指令的执行对状态寄存器FLAGS的标志位产生影响,但通常情况下,FLAGS整体不能作为操作数。


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3