佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 470|回复: 1

考一考大家的汇编知识

[复制链接]
发表于 9-1-2024 03:15 PM | 显示全部楼层 |阅读模式
这里有个小题目,假设当用户输入一个非数字时,程序会另外处理,这应该如何用汇编加以简化?


  1. cmp al, '0'
  2. jb    quit
  3. cmp  al, '9'
  4. ja    quit
复制代码
这个是传统的做法,小于0数字时(jump below)退出,和大于9数字时(jump above)退出。

你知道如何简化只需使用一个CMP(compare)指令吗?方法至少有两个。猜一猜?
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 28-1-2024 06:20 PM | 显示全部楼层
揭晓啦!

这是其中一个方法:
  1. sub al,'0'
  2. cmp al,9
  3. ja .out_of_range
  4. ; do my thing
  5. .out_of_range:
复制代码


至少还有两个方法,你猜得到吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 1-12-2024 12:03 PM , Processed in 0.108183 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表