首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >组件中的CMP和jmp变体

组件中的CMP和jmp变体
EN

Stack Overflow用户
提问于 2015-11-09 11:30:04
回答 1查看 977关注 0票数 1
代码语言:javascript
复制
 cmp al,'0'
 je true
 cmp al,'1'
 je true
 cmp al,'2'
 je true
 cmp al,'3'
 je true
 cmp al,'4'
 je true
 cmp al,'5'
 je true
 cmp al,'6'
 je true
 cmp al,'7'
 je true
 cmp al,'8'
 je true
 cmp al,'9'
 je true
 jne error 

我感兴趣的是如何使用区间和ASCII数字编码来减少cmp的数量。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-09 12:29:08

ASCII码是数字。编写'0‘时,汇编程序将其转换为30h = 48d。正如您在这个ASCII表中看到的那样,字母'0‘到'9’由连续数字30H.39h表示。因此,您可以反向检查:如果al低于'0‘或al在'9’以上,则可以转到error。您只需要两次比较:

代码语言:javascript
复制
cmp al,'0'
jb error      ; jump if below
cmp al,'9'
ja error      ; jump if above
true:
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33608156

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档