8086乘法指令MUL,IMUL

来源:互联网 发布:centos 7root密码破解 编辑:程序博客网 时间:2024/05/01 16:13
对于加减指令来说CPU对有符号加减和无符号加减一视同仁,根据我们需要把它作为有符号的结果还是无符号的结果,但是乘除法指令区分有符号乘除和无符号乘除指令无符号数乘法指令MUL(MULtiply)MUL OPRD(OPRD可以用除立即数以外的任何寻址方式)   OPRD是八位一个乘数默认在AL中 则:AL*OPRD 结果保存在AX中   OPRD是16位一个乘数默认在AX中 则:AX*OPRD DX保存结果的高16位,AX保存结果的低16位
code segmentmov bl,2mul bl;ax<--bl*almov bx,2mul bx;dx,ax <--bx*ax ,DX保存结果的高16位,AX保存低16位code ends
assume cs:code
data segment
db 2,5data endscode segmentstart:mov ax,datamov ds,axmov si,0mov al,50Hmul byte ptr ds:[si];BYTE 取出data段中一个字节进行8位乘法al*02Hmov ax,50Hmul word ptr ds:[si];WORD 取出data段中一个字进行16位乘法  ax*0502Hmov ax,4c00Hint 21Hcode endsend start

有符号数乘法指令IMUL(sIgned MULtiply)
IMUL OPRD ;该指令把乘数与被乘数均作为有符号数,此外与MUL相同
乘法指令影响FLAG标志寄存器......
原创粉丝点击