关于一段代码的疑问
MOV AX,X ;将X(字)的内容传送到AX中
IMUL Y ;带符号将AX中的内容同Y相乘
MOV CX,AX ;将AX中的内容传送到CX(低字)中去
MOV BX,DX ;将DX中的内容传送到BX(高字)中去
MOV AX,Z ;将Z传送到AX中覆盖原来的X*Y的结果
CWD ;转换为双字指令
ADD CX,AX ;将AX(低字)中的内容同CX(低字)相加
;结果存入CX
ADC BX,DX ;将DX(高字)中的内容同BX(高字)相加
;结果存入BX
SUB CX,540 ;将540的低位同CX相减
SBB BX,0 ;将高位同BX相减
MOV AX,V ;将V移动到AX中
CWD ;将AX的内容符号扩展到DX
SUB AX,CX ;再次将AX(低字)减去CX(低字)的结果存入AX
SBB DX,BX ;将DX(高字)减去BX(高字)的结果存入DX
IDIV X ;用AX/DX中的数除以X
;最终AX/DX中的数就是要的数
在这里,两个CWD指令是不是是必须的?也就是说只要有要进行除法的地方,就必须有CWD/CBW?

