标题:
寻求51单片机的16位除以八位的汇编程序
[打印本页]
作者:
chydn2000
时间:
2024-6-26 20:23
标题:
寻求51单片机的16位除以八位的汇编程序
16位定时器的计数值需要除以2(十进制),寻求51的汇编程序
作者:
smmj
时间:
2024-6-27 05:16
右移一位就是除2
作者:
lxh2002
时间:
2024-6-27 05:54
本帖最后由 lxh2002 于 2024-6-27 09:02 编辑
左移一位,不就是除以2么
更正,我搞错了,是右移
作者:
wufa1986
时间:
2024-6-27 08:15
数值直接右移1位就是除以2
作者:
chydn2000
时间:
2024-6-27 10:32
右移一位,,那最左侧数值怎么填充呢?
作者:
chydn2000
时间:
2024-6-27 10:55
51汇编只有8位数据右移指令,16位数据右移怎么处理?
作者:
lyonkon
时间:
2024-6-28 00:11
chydn2000 发表于 2024-6-27 10:55
51汇编只有8位数据右移指令,16位数据右移怎么处理?
双字节右移1次:将高字节存A, CY赋0,RRC A,R0=A,将低字节存A,RRC A,R1=A。
这时R0,R1就是整体右移一次的结果。
作者:
188610329
时间:
2024-6-28 14:58
;高8位在 R6, 低8位在 R7
:DIV2
CLR C
MOV A,R6
RRC A
MOV R6,A
MOV A,R7
RRC A
MOV R7,A
RET
作者:
chydn2000
时间:
2024-6-28 19:09
这我编写的16位定时器TH0存R7,TL0存R6中,经过验证完全正常可用
youyi:mov r7,th0;22.1184MHZ,速度相当于12/22.1184=0.5微妙,16位数据右移一位
mov r6,tl0
mov p0,r7;判断R7低位是否为1,移到R6高位
jb p0.0,zhiyi
clr c
mov a,r7
rrc a
mov r7,a
clr c
mov a,r6
rrc a
mov r6,a
ajmp bijiao
zhiyi:mov a,r6;R6右移
clr c;进位标志0
rrc a;A通过进位标志右移
mov r6,a
mov p0,r6;R6高位置1
setb p0.7
mov r6,p0
clr c;R7右移
mov a,r7
rrc a
mov r7,a
bijiao:nop
ret
作者:
2831606172
时间:
2024-6-28 21:29
右移一位除2
作者:
Y_G_G
时间:
2024-6-30 15:20
右移一位就是除以2
如果是16位,那就用到标志位C
如果你还是在入门阶段,我建议你改学C语言吧,我用三年的汇编,做产品太累了
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1