这个题目怕不是教师出的吧?
如果是教师出的题,这位老师要么是不懂教学的新手,要么性格变态.
按理,“溢出”这种情况这个题目中应当被忽略.
因为:
1. 如果是Y+6溢出,那就要考虑32位除法了,问题会复杂很多倍.
2. 如果是考虑要避免除法溢出,带符号数溢出判断处理比较繁琐,要在做除法之前先求被除数的高一半的绝对值,再求除数的绝对值,比较两者,若前者大于或等于后者就不能做除法运算.这么处理太过复杂,不符合练习基本运算组合指令教学的目的.(如果是无符号数避免除法溢出相对要简单得多).
如果不考虑溢出问题,程序不难:
MOV AX, W ;取W到AX中
IMUL X ;做W*X运算,乘积在DX,AX中
MOV BX, Y ;将Y取到BX中
ADD BX, 6 ;Y+6存在BX中
IDIV BX ;做除法,商在AX中,余数在DX中
MOV Z, AX ;保存商
MOV R, DX ;保存余数