汇编语言(三十三)之四进制转十进制

输入四进制的数,转为十进制输出

程序运行:

 

 

代码:


datas segmentN_string_max_length      db 0ffhN_string                 db  0, 100h dup(?)N                        dw 0,0 sum                      dd 0 input              db 'input quanternary=$'output             db 0dh,0ah,'output decimal=$'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,ax;输入提示lea dx,inputmov ah,9int 21h;输入Nlea dx,N_string_max_lengthmov ah,10 int 21h;转换成为数字lea si,N_stringcall todigitmov N,axmov N+2,dx;输出提示lea dx,outputmov ah,9int 21hmov ax,N mov dx,N+2	   call print_decimalretmain endptodigit proc near    uses bx cx si di ;si ,axmov cl,[si]      ;设置循环次数xor ch,ch cmp cx,8ja errinc si           ;si指向第一个元素mov ax,0         ;初始化ax,dxmov dx,0 mov di,4         ;乘数dig:mov bl,[si]     cmp bl,'0'       ;判断是否小于'0'jb err           ;若低于'0',则错误字符cmp bl,'3'       ;判断是否大于'3'ja err           ;若高于'3',则错误字符sub bl,30h       ;否则,将数字字符转成数字xor bh,bh       mul di           ;乘4add ax,bx        ;加上个位adc dx,0          inc siloop digjmp exit           err:               ;输出错误push ds push cs pop ds lea dx,error_tip			mov ah,9int 21hpop dsmov ah,4ch		int 21hexit:ret error_tip  db 0dh,0ah,'input error$'
todigit endpprint_decimal proc near    uses ax  bx cx dx mov bx,10 mov cx,0      dea:      div bx push dx inc cx xor dx,dx cmp ax,0 jnz deadea1:pop dxadd dl,30hmov ah,2int 21hloop dea1		ret 
print_decimal endp 
codes endsend main

 

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

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

相关文章

Orleans解决并发之痛(二):Grain状态

Grains是Orleans应用程序的构建块,它们是彼此孤立的原子单位,分布的,持久的, 一个典型的Grain是有状态和行为的一个单实例,每个Grain实例的在单线程内执行,Grain之间共享数据通过消息传递,Grain…

汇编语言(三十四)之输出中文

输出中文 程序运行: 代码: daones segmentfull_name db 0,1,2,3,4,5 full_name_length dw $-full_name start_char db 0 change_char_count dw 6color db 1 x dw 40 y …

vue使用element ui实现下拉列表分页的功能!!!

“大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂。”前几天做了个功能,需求是使用利用element ui如何给下拉列表分页,经过网上查找,自己摸索,已经完成,今天来记录一下吧。实现的…

ASP.NET Core 运行原理解剖[2]:Hosting补充之配置介绍

在上一章ASP.NET Core 运行原理解剖[1]:Hosting中,我们介绍了 ASP.NET Core 的启动过程,主要是对 WebHost 源码的探索。而本文则是对上文的一个补充,更加偏向于实战,详细的介绍一下我们在实际开发中需要对 Hosting 做一些配置时经…

汇编语言(三十五)之输入字符串以$结束然后输出字母个数

输入字符串以$结束然后输出字母个数 程序运行: 代码: datas segment buff db 100h dup(?)letter_count dw 0nextline db 0dh,0ah,$datas ends codes segment assume cs:codes,ds:datas main proc far push dsmov ax,0push ax mov ax,datasmov ds,ax…

vue中如何使用vi-for限制遍历的条数?只查询前三条、查询4-6条怎么实现?

“大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂。”前言今天整理个简单的功能,vue中的v-for如何限制遍历输出的数据,比如我想在一个存放10条数据的集合中只输出3条怎么写?只想从第四条开始输出到第10条…

编译原理(一)之词法分析

词法分析 (1)参考附录1设计一个简单语言的词法分析程序,要求能够处理注释、换行回车、部分复合运算符(如>)。 (2)设计并实现含多条简单赋值语句的语法分析程序,要求有一定的出错提示与错误恢复功能。 (参考附录2) 附录1:…

粗略使用.NetCore2.0自带授权登陆Authorize

上篇Linux.NetCoreNginx搭建集群 有朋友提及到如果nginx做集群后应该还会有下一篇文章主讲session控制,一般来说就是登陆;本篇分享的内容不是关于分布式session内容,而是netcore自带的授权Authorize,Authorize粗略的用法&#xff…

vue中如何在地图中标点…

“大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂。”前言昨天分享了下vue中v-for的一些特殊用法,料想标题给写成了vi-for…太粗心了。文章连接在这里:vue中如何使用v-for限制遍历的条数?只查询前三条、…

被黑客盯上了…数据都给打包带走了…

“大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂。”前言在创建数据库的时候,突然之间,发现创建的表通过select * from 表名 查询不到了,于是就开始检查是不是sql语句写错了,检查半天&#…

编译原理(二)之语法分析

采用实验1的简单语言,设计并实现含多条简单赋值语句的语法分析程序,要求采用算符优先的分析算法。 注意与实验1、2的衔接。 using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using Syste…

ASP.Net Core Razor 页面路由

在服务器端 Web 应用程序框架中,其中非常重要的设计是开发人员如何将URL与服务器上的资源进行匹配,以便正确的处理请求。最简单的方法是将 URL 映射到磁盘上的物理文件,在 Razor 页面框架中,ASP.NET团队就是这样实现的。 关于 Ra…

vue实现下拉列表远程搜索示例(根据关键词模糊搜索)

“大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂”前言昨天的链接没有放上去……大家访问新站的时候,可以在浏览器地址栏中输入:www.穆雄雄.com或者www.muxiongxiong.cn都可以。今天分享的效果如下:ima…

编译原理(三)之语义分析

采用实验1的简单语言,设计并实现含多条简单赋值语句的语法语义分析程序,要求采用递归下降翻译法。 注意与实验1、2的衔接。 using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.T…

活动: 北京Xamarin分享会第6期(2017年9月9日)

每月第二个周六,北京丹棱街5号微软大厦,有什么活动?对, BXUG线下分享活动又来啦! 本次分享嘉宾阵容庞大,在金秋凉爽的季节,期待与大家面对面的交流。内容预告: 案例分享:某大型国企IT项目如何采…

捡到东西说给钱才给东西?算不算敲诈勒索……

“大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂”前言前两天,将一个那天急要但是后来就不重要的东西,放在车筐里面,结果到目的地一看,没了……椅子还没坐热,有人打来电话了“你…

编译原理(四)之解析语言翻译成三地址代码

选择部分C语言的语法成分,设计其词法语法语义分析程序。 设计并实现一个一遍扫描的词法语法语义分析程序,将部分C语言的语法成分翻译成三地址代码,要求有一定的出错提示和错误恢复功能。 例如简单赋值语句: area3.14*a*a; s 2*…

[北京微软技术直通车]前端 Visual Studio Code 开发 Angular 与亿级 SQL Servern

微软技术直通车第一期将于2017年9月9日与大家见面,本次邀请华北区微软技术专家和大家一起交流前端工具与技术, Visual Studio Code,TypeScript 与 Anuglar 项目开发和亿级数据库运维的最佳实践,分享相关技术的发展前景和从业经验&…

vue中如何实现全全全屏和退出全屏?

“大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂”最近总有人给我说ta有社恐,明明是有社牛好不好……前言在做大屏界面的时候,客户有个要求,一进去登录成功之后,要有全屏的功能,…

【深圳】掌通宝科技有限公司技术总监(兼架构师),约吗

技术总监(兼架构师) 岗位职责: 1、主持研发中心日常管理工作,负责公司O2O平台,SaaS平台管理; 2、负责公司.net后台,Android客户端、IOS客户端、WEB平台等架构设计; 4、解决开发中的技术问题…