给你举个例子吧。
无符号数0B4H与11H相乘
mov al,0b4h al=b4h=180d(被乘数放在al中)
mov bl,11h bl=11h=17d(乘数放在bl中)
mul bl ax=Obf4h=3060d,OF=CF=1(乘积放在ax中。AX高8位不为0)
再来一个有符号数乘法的例子。
有符号数0B4H与11H相乘
mov al,0b4h al=b4h=-76d
mov bl,11h bl=11h=17d
imul bl ax=faf4h=-1292d,OF=CF=1
AX高8位不是低8位的符号扩展,表示含有有效数字
计算二进制数乘法:b4h×11h。如果把它当作无符号数,用MUL指令结果为0bf4h;如果看作是有符号数,用IMUL指令则结果为faf4h。由此可见,同样的二进制数看作无符号数与有符号数相乘,即采用MUL与IMUL指令,它们的结果是不相同的。
意义:src上的数与AL上的数相乘,保存在AX中。
使用:在八位指令下,若a与b要相乘,可以将其中一个数保存在AX中,具体指令如下:
MOV AX,a
MUL b
使用完此指令,两数结果保存在AX中。
扩展资料目的地址传送指令
1、LEA 装入有效地址.
例: LEA DX,string 把偏移地址存到DX.
2、LDS 传送目标指针,把指针内容装入DS.
例: LDS SI,string 把段地址:偏移地址存到DS:SI.
3、LES 传送目标指针,把指针内容装入ES.
例: LES DI,string 把段地址:偏移地址存到ES:DI.
4、LFS 传送目标指针,把指针内容装入FS.
例: LFS DI,string 把段地址:偏移地址存到FS:DI.
参考资料来源:百度百科-汇编指令
单片机乘法指令是MUL AB,只能是累加器A和寄存器B相乘,结果低八位存入A,高八位存入B。比如题中,A=4EH,B=5DH,A*B=1C56H,所以A=56H,B=1CH
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)