+ -
当前位置:首页 → 问答吧 → 用汇编语言做了一个除法练习,提示“Privileged instruction”,怎么回事呀?代码如下:

用汇编语言做了一个除法练习,提示“Privileged instruction”,怎么回事呀?代码如下:

时间:2010-12-06

来源:互联网

mov eax ,one
  mov ecx, two
  DIV eax,ecx //执行到这里就报错,请问是怎么回事呀?

作者: zhenghaibinone   发布时间: 2010-12-06

除法指令是一地址指令吧。就是DIV后只带除数,被除数是默认的。(参看教材中DIV指令的介绍)

作者: shzhfu   发布时间: 2010-12-06

虽然我没学32位的 但是16位的除法规则 除数是 8位 被除数就得是16位

作者: znxllyuan   发布时间: 2010-12-06

哦哦 对对对
 被除数默认在 AX或 AX DX中 DIV后面只跟着除数 (内存单元或寄存器)

作者: znxllyuan   发布时间: 2010-12-06

那我究竟该如何写,才能得到one÷two的数值呢?能给出具体代码吗?

作者: zhenghaibinone   发布时间: 2010-12-06

引用 4 楼 zhenghaibinone 的回复:
那我究竟该如何写,才能得到one÷two的数值呢?能给出具体代码吗?

 如果是 16位汇编
 mov ax,one (假设ONE是字数据)
 mov cl,tWO (如果TWO是字节数据)
 DIV CL
 结果在ax, al是结果 ah 是余数

作者: znxllyuan   发布时间: 2010-12-06