社区
汇编语言
帖子详情
【高分】汇编语言如何获取寄存器连续1的位数
hucailai
2019-02-03 10:59:19
例如寄存器 EAX:
从两个方向,高位和低位
MOV EAX , 1111000100011B
从高位得到4,从低位得到2
求高手支招,考虑性能最优,400分送上。
...全文
218
9
打赏
收藏
【高分】汇编语言如何获取寄存器连续1的位数
例如寄存器 EAX: 从两个方向,高位和低位 MOV EAX , 1111000100011B 从高位得到4,从低位得到2 求高手支招,考虑性能最优,400分送上。
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hucailai
2019-02-03
打赏
举报
回复
400分送上,见着有份,100%结贴。
hucailai
2019-02-03
打赏
举报
回复
结贴了,多谢
日立奔腾浪潮微软松下联想
2019-02-03
打赏
举报
回复
引用 7 楼 hucailai 的回复:
左起第一个0位置,那前面的不就正好是全部连续的1吗?
对你的例子:
MOV EAX , 1111000100011B
数据实际是 0000 0000 0000 0000 0001 1110 0010 0011
hucailai
2019-02-03
打赏
举报
回复
左起第一个0位置,那前面的不就正好是全部连续的1吗?
日立奔腾浪潮微软松下联想
2019-02-03
打赏
举报
回复
#2已经是很高效的了,除非有专用指令(popcnt是求1的数量,但不是连续的1),否则不可能几条指令算出来
日立奔腾浪潮微软松下联想
2019-02-03
打赏
举报
回复
不可以,你这样是取左起第一个0的位置
hucailai
2019-02-03
打赏
举报
回复
是不是可以这样 XOR EAX,0xFFFFFFFF ;异或 BSR EAX,EAX ;位扫描 两条指令搞定。
hucailai
2019-02-03
打赏
举报
回复
用到了循环感觉效率不高,还有更好的吗?
日立奔腾浪潮微软松下联想
2019-02-03
打赏
举报
回复
; 求最长连续位1
; input: unsigned integer in eax
; output: result in eax
CC1 proc
mov ecx, eax
mov edx, eax
xor eax, eax
@@loop:
jecxz @@exit
shl ecx, 1
and edx, ecx
inc eax
mov ecx, edx
jmp @@loop
@@exit:
ret
CC1 endp
汇编语言
实验报告全攻略:从DOSBox环境到DEBUG排错
计算机科学教育中,
汇编语言
是理解计算机底层机制的重要桥梁,而实验报告则是检验学习者是否真正掌握实模式编程的关键环节。从16位实模式下的段
寄存器
寻址,到DOSBox模拟环境中的INT 21H中断调用,再到MASM的编译链接流程,每一个环节都隐藏着常见的陷阱。借助DEBUG工具单步跟踪、检查
寄存器
与内存状态,能系统化地定位并理解诸如DS未初始化、除法溢出等隐蔽错误。这些技术不仅服务于课程实验,也为后续学习操作系统和嵌入式开发打下坚实基础。本文以
汇编语言
实验报告为切入点,详细梳理环境搭建、IO.LIB库的调用原理
TMS320F28335微控制器ADC_DMA实例教程
TMS320F28335属于德州仪器的TMS320C28x™ DSP平台系列,采用了高性能静态CMOS技术,工作频率高达150 MHz。它内含一个高性能的32位CPU核心,该核心支持统一内存访问,特别适合执行复杂的数学计算和控制算法。此外,F28335还集成了丰富的外设接口,如PWM、ADC、GPIO等,非常适合用于复杂的实时控制任务。
微机原理概要
简要介绍学习数字IC设计和FPGA时需要掌握的相关微机原理知识。后续随着学习的深入再逐步扩充吧。
TI C2000 NHET高级定时器指令集实战解析:从电机控制到PWM生成
在嵌入式实时控制系统中,硬件定时器是实现高精度时序控制的核心外设。其工作原理是通过专用的计数器和比较器硬件,替代软件轮询,以确定性的方式生成或捕获时间事件,从而消除中断延迟带来的时序抖动。这种硬件化处理为电机控制、数字电源和汽车电子等对实时性要求严苛的领域提供了关键的技术价值。具体到应用场景,例如在无刷电机FOC控制中,需要根据转子角度精确生成六路PWM驱动信号;在发动机管理中,需同步处理凸轮轴传感器信号以确定喷油和点火正时。本文聚焦的TI C2000系列微控制器上的NHET模块,正是此类高级定时器的典型代
嵌入式定点DSP实战:从FFT算法到DAC/PWM信号输出的完整链路设计
数字信号处理(DSP)是嵌入式系统实现实时控制、音频处理等复杂功能的核心技术。其原理在于通过算法对离散时间信号进行变换、滤波或分析,以提取信息或生成特定波形。定点DSP处理器因其成本、功耗和实时确定性优势,在工业与消费电子中广泛应用,但其开发需深入理解定点数表示、动态范围管理与精度控制。本文聚焦于**定点FFT**实现与**功率DAC**设计两大关键技术价值,通过剖析在恩智浦DSP56800/E系列处理器上的实战,详解如何将频谱分析结果高质量地转换为模拟信号或直接驱动功率负载,为电机驱动、音频合成等应用场景
汇编语言
21,500
社区成员
41,619
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章