急求解决 BCB中嵌入汇编的问题!!!!!!!!!!!!!!急急急急急
     short int  csum_cal;
 char * output;
                
                  1 asm mov  dx, 0
		2 asm mov  cx, c[0]
		3 asm shr  cx, 1
		4 asm mov  ah, 0
		5 asm push ds
	   	6 asm mov  esi, output
		7 asm cld   
L1:
	         8 asm lodsw
		9 asm add dx, ax
	   	10 asm loop L1
		11 asm pop  ds
		
		12 asm mov  csum_cal, dx
这段程序可以编译通过,但是运行的时候却提示“asm lodsw”这句出错,我知道lodsw 是把si中的所指的地址的一个字传送到AX中,但是却提示错误,这段程序在DOS下面是可以正确运行的。还有在第6行本来为mov si ,output ,不过我知道在window下si为32位,而char* 只有16位,所以改成了esi。哪位可以帮我修改一下,以便在window下运行,真的不胜感激!!!!急急急