汇编语言(九)之十六进制数值转二进制

输入四位十六进制的数值,将十六进制数值转二进制输出

程序运行:

 

代码:


datas segmentmaxLength                 db 5hexLength                 db 0hex                       db 5 dup(?)bin	                   db 100h dup(?)inputPrompt               db 'input 4 bit hexadecimal:$'outputBinary              db 0dh,0ah,'output binary:$'outputInputError          db 0dh,0ah,'input error!$'datas endsstacks segment stackdb  100h dup(?)stacks endscodes segmentassume cs:codes,ds:datas,ss:stacks
main   proc  far
start:push dsmov ax,0hpush axmov ax,datas          ;初始化dsmov ds,axlea dx,inputPrompt      ;输入提示mov ah,9int 21hlea dx,maxLength        ;输入十六进制字符mov ah,10int 21hmov cl,hexLength        ;若字符串长度不为4,则输入错误cmp cl,4jne inputErrormov ch,0                ;设置ch,使得cx为字符串的长度lea si,hex              lea di,bins:mov al,[si]           cmp al,'9'            ;判断字符是否大于'9'ja english            ;大于9则跳转去判断是否为其他十六进制字符cmp al,'0'            ;判断字符是否大于'0' jb inputError         ;若小于'0',则输出jmp tobinary          ;否则,则转换为二进制english:or al,32             ;将字符变成小写字母,不是小写字母的运算结果不变cmp al,'a'            ;判断字符是否大于'a'jb inputError         ;若小于'a',则输入错误cmp al,'f'            ;判断字符是否大于'f'ja inputError         ;若大于'f',则输入错误 sub al,7             ;先减7,变成数字的值+30htobinary:sub al,30h            ;减去30h,剩下数值call binary           ;转换二进制,使用al,diinc si                ;数组下标加一loop slea dx,outputBinary       ;输出二进制提示mov ah,9int 21hmov byte ptr [di],'$'     ;设置二进制字符串的结束字符lea dx,bin                 ;输出二进制字符串mov ah,9int 21hjmp exitinputError:                   ;输入错误提示lea dx,outputInputErrormov ah,9int 21h	exit:retmain endpbinary proc nearpush cx                  ;保存cxmov cl,4                 ;将al左移4位,使al的高半字节为原来al的低半字节shl al,clmov cx,4sbin:shl al,1                   ;左移一位jc one                     ;进位为1,跳转到onemov byte ptr [di],'0'      ;否则,二进制数组置'0'jmp restart                 ;跳转到restartone:                        ;置'1'mov byte ptr [di],'1'restart:add di,1loop sbinpop cx                        ;恢复cxretbinary endp
codes endsend main

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/323907.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.NET Core 2.0 单元测试中初识 IOptionsMonitoramp;lt;Tamp;gt;

在针对下面设置 CookieAuthenticationOptions 的扩展方法写单元测试时遇到了问题。 public static IServiceCollection AddCnblogsAuthentication(this IServiceCollection services, IConfigurationSection redisConfiguration, Action<CookieAuthenticationOptions> …

汇编语言(十)之最小偶数

在数组中查找最小的偶数&#xff0c;并输出 程序运行&#xff1a; 代码&#xff1a; datas segmentminEven dw 0DATA dw 10 dup(101,1,21,81,5,261,3,421,4,541)DATACount dw ($-DATA)/type DATAoutputPrompt db min eve…

【最全最详细】publiccms常用的代码片段

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;&#x1f449;雄雄的小课堂&#x1f448;。 &#x1f9d8;‍♂️往期系列 这两天一直在整理Publiccms系列的教程&#xff0c;有需要的小伙伴们可以点击以下链接查看&#xff1a; ☝publiccms使用教程&a…

Remoting核心类库RealProxy迁移

在学习.net core的过程中&#xff0c;我们已经明确被告知&#xff0c;Remoting将不会被支持。官方的解释是&#xff0c;.net framework 类型包含了太多的Runtime的内容&#xff0c;是一个非常重量级的服务实现&#xff0c;已被确定为一项有问题的体系结构。说白了就是迁移的难度…

【最全最详细】publiccms其他常用代码片段(内容、站点)

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;&#x1f449;雄雄的小课堂&#x1f448;。 ✍往期系列 这两天一直在整理Publiccms系列的教程&#xff0c;有需要的小伙伴们可以点击以下链接查看&#xff1a; ☝publiccms使用教程&#xff08;使用方式…

汇编语言(十一)之统计非数字字符个数

输入以$结尾的字符串&#xff0c;统计并输出非数字字符的个数 程序运行&#xff1a; 代码&#xff1a; datas segmentstring db 100h dup(?)nonNumberCount dw 0inputPrompt db input string and end by $:inputPromptLen …

Orleans配置---持久化

Grain理想的生命周期应该如下图所示: 这就如美国电影中的大反派一样,死了再复活,死了再复活.当然如果复活的反派没有记忆,这个电影就真没劲.现在我要求Grain的复活是有记忆的复活.看我怎么办到. 其中持久化需要用到数据库,因为只有数据库才能比较方便的为以后event sourcing做…

汇编语言(十二)之统计小于平均数的个数

在一个数组中找出并统计并该数组的平均数小的数的个数 程序运行&#xff1a; 代码&#xff1a; datas segmentDATA dw 10h dup(1,2,3,4,-1,5,7,-99,29,-11,294,-21,45,6,57,-54)average dw 0countOfLowAverage dw 0outputAverage …

【最全最详细】publiccmsCSS和JS引入无效的解决方法

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;&#x1f449;雄雄的小课堂&#x1f448;。 ✍往期系列 这两天一直在整理Publiccms系列的教程&#xff0c;有需要的小伙伴们可以点击以下链接查看&#xff1a; ☝publiccms使用教程&#xff08;使用方式…

C#使用Xamarin开发可移植移动应用进阶篇(6.使用渲染器针对单个平台自定义控件),附源码

本篇..基本可以算是Xamarin在应用开发过程中的核心了..真的很很很重要.. 想学习的..想用的..建议仔细阅读..嗯..打酱油的 ..快速滑倒下面点个推荐 - - 哈哈哈... 今天的学习内容? 只讲一个,关于Xamarin.Forms针对各个平台如何进行可定制化的控件操作. 也就是针对某个平台的…

笑脸喜迎新同学,热情送给新伙伴

“大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;????雄雄的小课堂????。”今天&#xff0c;于我和王老师来说&#xff0c;是个非同寻常的一天。那是因为&#xff0c;今天迎来了4班的40余位新同学们&#xff01;一大早&#xff0c;同学们就陆陆…

汇编语言(十三)之偶数转成哥德巴赫猜想

将输入的偶数转换成哥德巴赫猜想&#xff0c;输出哥德巴赫猜想 程序运行&#xff1a; 代码&#xff1a; datas segmentmaxESLen db 0ffhevenSLen db 0evenString db 0ffh dup(?)evenNumber dw ?prime1 dw 0 prime2 dw 0 i…

计算机入门的一些常用小技巧总结

“大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂。”今天总结了一些windows中常用的小技巧&#xff0c;也是明天上课需要演示的&#xff0c;希望对初入计算机行业的你们有所帮助&#xff0c;哈哈哈哈。常用shutdown命令&#xff1a;1.定时…

汇编语言(十四)之判断字符串是否包含数字

输入一串字符串&#xff0c;判断字符串里面是否包含数字&#xff0c;如果包含数字输出把cl的第五位设置为1&#xff0c;否则设置为0 程序运行&#xff1a; 代码&#xff1a; datas segmentSTRING_maxLength db 0ffhSTRING_Length d…

UnitOfWork知多少

1. 引言 Maintains a list of objects affected by a business transaction and coordinates the writing out of changes and the resolution of concurrency problems.Unit of Work --Martin Fowler Unit Of Work模式&#xff0c;由马丁大叔提出&#xff0c;是一种数据访问模…

表扬几位积极的同学!

“大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂。”这几天太忙了&#xff0c;几天才回家一次&#xff0c;总有忙不完的活在干。4班这几天同学们表现还不错&#xff0c;布置的作业都能按时完成&#xff0c;课堂上也比较活跃&#xff0c;比…

中山纪念中学培训15天总结

比赛 2018/7/6-纪中某C组题【jzoj1192,jzoj1397,jzoj1736】 上来就集体爆零 2018/7/7-纪中某C组题【jzoj1494,jzoj1495,jzoj1496,jzoj1497】 还比较好 2018/7/8-纪中某C组题【jzoj1619,jzoj1620,jzoj1621,jzoj1622】 发现了dp方面的不足 2018/7/9-纪中某B组题【jzoj1503…

汇编语言(十五)之找出两个数组中的相同元素

找出两个数组中的相同元素&#xff0c;并且输出 程序运行&#xff1a; 代码&#xff1a; datas segmentA dw -1,-2, 3, 4, 5, 6, 7, 8, 9, 10,-11, 12, 13, 14, 15ACount dw ($-A)/2B dw -1, 2,-3, 4,-5, 6,-7, 8, 9,-10, 11,-12, 13,-14, 15,16,17,18,…

如何编写更好的SQL查询:终极指南-第一部分

结构化查询语言&#xff08;SQL&#xff09;是数据挖掘分析行业不可或缺的一项技能&#xff0c;总的来说&#xff0c;学习这个技能是比较容易的。对于SQL来说&#xff0c;编写查询语句只是第一步&#xff0c;确保查询语句高效并且适合于你的数据库操作工作&#xff0c;才是最重…

汇编语言(十六)之三数值求和

输入A、B、C三个数&#xff0c;如果存在一个数为0&#xff0c;则全部清零&#xff0c;否则求和输出 程序运行&#xff1a; 代码&#xff1a; datas segmentA dw 1B dw 0D dw 3S dw 0a_string db 0ffh, 0 ,100 dup(?)b_string db 0ffh, 0 ,100 dup(?…