指出下列指令的错误! 急急急急急急急急急急急急急急急急急急急急急急急急急急急急急

来源:百度知道 编辑:UC知道 时间:2024/06/01 05:40:02
1.MOV CX ,DL
2.XCHG[SI],3
3.POP CS
4.MOV IP,AX
5.SUB[SI],[DI]
6.PUSH DU
7.OR BL,DX
8.AND AX,DX
9.MUL 16
10.AND 7FFH,AX
11.DIV 256
12.ROL CX,BL
13.MOV ES, 1234H
14.MOV CS ,AX
15.SUB DL,CF
16,ADC AX,AL
17.MOV AL,300
18.JDXZ NEXT
请按顺序说一下以上的指令错误的地方。谢谢了! 急用!

1 长度不相等 dl改为dx
2 立即数不能直接付给si 把3放入寄存器中
3 cs为段寄存器 不能用于pop 改为通用寄存器 如 ax
4 ip不能作为目的造作数 改为cx
5 si di之间不能直接传递 通过通用寄存器传递 如ax
6 du不是寄存器 改为dx
7 长度不相等 bl改为bx
8
9 立即数不能直接用在单操作指令中
10 立即数不能做目的操作数
11 立即数不能直接用在单操作指令中
12 长度不相等 bl改为bx
13 es为段寄存起 不能存放立即数 改为通用寄存器
14
15 cf不是寄存器
16 长度不相等
17 300超出范围 al改为ax
18
8 14 18 没有错

1
2 源址寄存器不能与操作数直接进行交换 必需讲操作数存于寄存器中才可以
3 CS 代码段寄存器 不能做堆栈存储
4 IP是一个八位寄存器 它只是堆栈中使用 或者存放指向下一个目的的地址 AX是16位寄存器 不能从大寄存器中取数存入小寄存器中
5 源和目的 不能直接进行四则操作 都是变化的
6
7 返回值放在BL中 八位的存储空间不足
8
9
10 前面是立即数 没有存储位置 一般逻辑运算结果都放在第一个寄存器中 第一个不能是立即数或者比后面寄存器小的寄存器
11
12
13 ES 附加段 不能放立即数
14
15 CF 进位标志 不能与DL寄存器中数 进行四则
16
17 300 大于255 超过八位 村属空间不足
18

我会的都说了 我是刚接触汇编

1.MOV CX ,DL ;操作数长度类型不匹配
2.XCHG[SI],3 ;XCHG指令不允许操作数是立即数
3.POP CS ;pop指令不允许操作数是代码段段寄存器CS
4.MOV IP,AX ;ip不能作为目的操作数
5.SUB[SI],[DI] ;SUB指