汇编学习笔记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