单片机乘法指令

小弟初学单片机,在乘法指令上遇到困惑,忘高手指点
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN: MOV R0, #CDH
MOV R1, #ABH ;这行在KEIL中,出现undefined symbol
MOV B, #64H ;这行也是
MUL AB
MOV R4, A
MOV R3, B
INC R0
MOV A, @R0
MOV B, #64H
MUL AB
ADD A, R3
MOV R3, A
MOV A, B
ADDC A, #00H
MOV R2, A
END
程序本身想完成双字节数乘以单字节数。若被乘数为16位无符号数,地址为ABCDH,乘数为8位无符号数64H
将积存入R2,R3,R4三个寄存器中。结果为(R2)=43H,(R3)=1CH,(R4)=14H,如果用手算的话是这个结果,但是把自己编写的程序带入KEIL中就不行乐

第1个回答  推荐于2017-09-07
MAIN: MOV R0, #CDH ;----改成:#0CDH
MOV R1, #ABH ;----改成:#0ABH
MOV B, #64H ;----这行不会错的。本回答被提问者采纳
第2个回答  2018-08-02
乘法指令当结果大于0FFH时,A就装不下了,所以“溢出”了,大于部分装入到B里面。本回答被网友采纳
第3个回答  推荐于2017-09-18
  例子:(A)=50H,(B)=0A0HMUL AB;
  得:3200H,其中(A)=00H,(B)=32H,OV=1,CY=0(积大于255(FFH));
  除法DIV用法相同
  DIV是层叠样式表中的定位技术,全称DIVision,即为划分。有时可以称其为图层。
  DIV在编程中又叫做整除,即只得商的整数。 DIV元素是用来为HTML(标准通用标记语言下的一个应用)文档内大块(block-level)的内容提供结构和背景的元素。

汇编语言问题mul指令
MUL指令是指80C51单片机系统的乘法指令,只有一条指令。乘法指令的功能是将A和B中两个无符号8位二进制数相乘,所得的16位积的低8位存于A中,高8位存于B中。如果乘积大于255,即高位B不为0,则OV置1;否则OV清0,CY总是清0。MUL指令有三种格式:第一种是将8位的操作数于al相乘。第二种是将1...

一个单片机的乘法指令
单片机乘法指令是MUL AB,只能是累加器A和寄存器B相乘,结果低八位存入A,高八位存入B。比如题中,A=4EH,B=5DH,A*B=1C56H,所以A=56H,B=1CH

汇编MUL是什么意思?
MUL 汇编语言无符号数乘法指令 格式:MUL SRC 执行的操作: 字节操作数:(AX)←(AL)*(SRC) 字操作数:(DX,AX)←(AX)*(SRC) 双子操作数:(EDX,EAX)←(EAX)*(SRC) MUL:80C51单片机系统的乘法指令,只有一条指令: MUL AB 乘法指令的功能是将A和B中两个无符号8位二进制数相乘,所得的16...

int mul(int a,int b)他们面前分别加int是什么意思啊
MUL:80C51单片机系统的乘法指令,只有一条指令:MUL AB 乘法指令的功能是将A和B中两个无符号8位二进制数相乘,所得的16位积的低8位存于A中,高8位存于B中。如果乘积大于256,即高位B不为0,则OV置1;否则OV清0,CY总是清0。例如:设(A)=50H(80),(B)=0A0H(160)若执行MUL AB,...

单片机乘法指令
MAIN: MOV R0, #CDH ;---改成:#0CDH MOV R1, #ABH ;---改成:#0ABH MOV B, #64H ;---这行不会错的。

汇编MUL是什么意思?
MULAB就是累加器A与累加器B相乘,结果放在A里面,按照上面的运算,最好A里面的数应为2。MUL:80C51单片机系统的乘法指令,只有一条指令。mul是无符号乘法imul是带符号乘法指令执行后ax=0F88CH,这时,把96H看作带符号数,是一个负数,12H是一个正数,也就是十进制的-106*18=-1908=-11101110100B,...

MSC-51系列单片机乘除法指令怎么算的?
指令上面已经说得很清楚了,例子:(A)=50H,(B)=0A0HMUL AB; 得:3200H,其中(A)=00H,(B)=32H,OV=1,CY=0(积大于255(FFH));除法DIV用法相同

mul是什么指令
汇编MUL是什么意思?MULAB就是累加器A与累加器B相乘,结果放在A里面,按照上面的运算,最好A里面的数应为2。MUL:80C51单片机系统的乘法指令,只有一条指令。mul是无符号乘法imul是带符号乘法指令执行后ax=0F88CH,这时,把96H看作带符号数,是一个负数,12H是一个正数,也就是十进制的-106*18=-...

51单片机中执行一条乘法指令或者除法指令需要多少个机器周期?
一条乘法指令或者一条除法指令都需要 4 个机器周期。指令周期是不确定的,因为她和该条指令所包含的机器周期有关。一个指令周期=1个(或2个或3个或4个)机器周期,像乘法或除法就含有4个机器周期,单指令就只含有1个机器周期。对于大多说的51单片机来说,1个机器周期=12个时钟周期(或振荡周期)...

单片机中乘法指令溢出
在51中,乘法指令MUL AB 是这样子的 将累加器的值与B寄存器的值相乘,乘积的低位字节存回累加器,高位字节存回B寄存器 说明:将累加器A和寄存器B内的无符号整数相乘,产生16位的积,低位字节存入A,高位字节存入B寄存器。如果积大于FFH,则溢出标志位(OV)被设定为1,而进位标志位为0 这里的溢出是...

相似回答