找找汇编语言中的语法异常

找找汇编语言中的语法错误
本帖最后由 lylfwwp 于 2013-03-31 14:06:32 编辑
mov  ecx,dx
mov  al,300
mov  20h,ah
mov  es,1234h
mov es,ds
add    ax,[esi][edi] 
mov   [edx],10
哪里有错?
编译器给的提示太简单了
本人初学,不吝赐教
汇编 语言

------解决方案--------------------
mov  20h,ah
你想干嘛?给一个立即数赋值?
------解决方案--------------------
都是有问题的?
mov  ecx,dx  ; 两操作数位长不一样,ecx 是 32 位, dx 为 16 位
mov  al,300  ; 300 超过了 al 的最大可表示值 255
mov  20h,ah  ; 如 #1 所言
mov  es,1234h  ; 不能给段寄存器直接赋值吧
mov es,ds  ; 段寄存器间不能赋值, 一般是通过通用寄存器给段寄存器赋值 如 mov es, ax
add    ax,[esi][edi]   ; 16 位模式下不支持 esi 和 edi 的组合寻址的, 32 位模式下是可以的
mov   [edx],10  ; 没指定 [edx] 内存对象的大小, byte? word? dword? 

------解决方案--------------------
收藏,。。。。。。