1 mov cx,dl;数据类型不匹配,CX为16位,DL为8位
2 mov ip,ax ;IP为能在指令中出现,它是下一条要执行指令的偏移地址,不允许指令对其进行改变
3 mov es,1234h ;立即数1234H不能直接送段寄存器
4 mov es,ds ;段寄存器之间不能直接传送数据
5 mov al,300 ;数据类型不匹配,300超过一个字节,无符号字节最大数为255
6 mov [sp],ax ;SP为堆栈指针,对栈顶元素操作应该用PUSH指令,而不能使用MOV指令
7 mov ax,bx+di ;应该改为mov ax,[bx+di]
8 mov 20h,ah ;目的操作不能为立即数
9 xchg [si],30h ;交换指令的两个操作数均不能为立即数
10 pop cs ;CS不能作为目的操作数,也就是说不能通过指令直接改变CS的值
11 sub [si],[di] ;两内存单元不能直接进行减法操作
12 push ah ;堆栈操作以字为单元
13 adc ax,ds ;加法指令的操作数不能为段寄存器
14 add [si],80h ;没有指定内存单元的数据类型,应该改为add byte ptr [si],80h
15 in al,3fch;外设端口地址超过8位时应该用DX,应该改为 mov dx,3fch in al,dx
16 out dx,ah ;输入/输出指令为累加器专用指令,8位累加器为AL而不是AH。