1、 SUB BL,AX 错,两个操作数长度不一致.
2、 POP BL 错,堆栈操作必须是字类型操作数.
3、 SHR AX,8 错,移位位数超过1位时要提前放在cl中.
4、 INC AL ,100H 错,inc是单操作数指令,完成加1运算.另外al+100h也没法加啊,就算改成add al,100h也不对,因为操作数类型不一致.
5、 MOV [SI],[BX] 错,两个操作数不能都是存储器操作数.
6、 ADD AX,[SI+DI].错,寻址方式错误.基址变址寻址不能两个都是变址寄存器.
7、 DIV 100H 错,div的操作数不能是立即数.
8、 MOV DS,DATA(段名)错,段名出现在操作数部分,当做立即数处理,而立即数是不能直接送段寄存器滴.
9、 LEA BL,BUF(变量)错,lea的功能是取变量的偏移地址,偏移地址是16位的,不能用八位寄存器bl来接收.
10、 CMP AX,ES:SI 错,段跨越前缀"es:"只能加在存储器操作数寻址方式前,应改为es:[si]