汇编学习笔记13

 

除法指令:

 

无符号除法DIV,有符号除法IDIV。

除法规则:用32位数除以16位数,或16位数除以8位数。

当被除数是32位时,高16位放在DX中,低16位放在AX中。被除数是16位时,放在AX中。二者的商放在低位中,余数放在高位中。

当商与除数的位数不同时,结果0号溢出。对标志位行为未定义。

 

符号扩展指令:

CBW,把AL中的8位有符号数进行符号扩展到AH中,结果是AX中的16位有符号数。

CWD,把AX中的8位有符号数进行符号扩展到DX中,结果是高16位在DX中,低16位在AX中的32位数。

 

呃。昨天就讲的这个。还有例题。

 

例如:

字单元 X, Y, Z中存放的都是16位有符号数,把 (X + Y * Z - 75) / Y 的结果送入Z中。

MOV AX, Y

IMUL Z

MOV CX, AX

MOV BX, DX

MOV AX, X

CWD

ADD AX, CX

ADC DX, BX

SUB AX, 75

SBB DX, 0

IDIV Y

MOV Z, AX

posted @ 2010-12-09 20:02  杨海龙  阅读(185)  评论(0编辑  收藏  举报