当前位置: 首页 > news >正文

网站的题目网站建设参考的文献

网站的题目,网站建设参考的文献,网站的seo优化方案,企业门户网站模板 下载一、实验名称:实验6 输入一个16进制数,把它转换为10进制数输出 实验目的: 培养汇编中设计子程序的能力 实验过程: 源代码: data segmentbuff1 db Please input a number(H):$buff2 db 30,?,30 dup(?),13,10buff3 …

一、实验名称:实验6 输入一个16进制数,把它转换为10进制数输出

  • 实验目的:

培养汇编中设计子程序的能力

  • 实验过程:

源代码:

data segmentbuff1 db 'Please input a number(H):$'buff2 db 30,?,30 dup(?),13,10buff3 db 'The consequent is:$'data endscode segmentassume cs:code,ds:datamain proc farpush dsxor ax,axpush axmov ax,datamov  ds,axcall tips1      ;调用第一个字符串,提示用户输入call input1     ;调用程序,将数字输入进缓冲区保存call get4h      ;将缓冲区的ASCII码转换成实际的二进制xor ax,axmov al,byte ptr[buff2+1]                ;di用来计数(处理4位的十六进制)mov di,axlea si,buff2+2mov bx,0;mov bp,1000h            ;dx位权call functioncall tips2      ;调用第三个字符串,显示结果call btod     ;将缓冲区的二进制转换成10进制ASCII码输出mov ah,4chint 21hretmain endptips1 proc nearmov dx,offset buff1mov ah,9int 21hrettips1 endptips2 proc nearmov dx,offset buff3mov ah,9int 21hrettips2 endpinput1 proc nearlea dx,buff2mov ah,0ahint 21hmov dl,13mov ah,2int 21hmov dl,10mov ah,2int 21hretinput1 endpget4h proc nearlea si,buff2+2   ;将第二个字符串的首地址给si寄存器保存mov bx,0         ;用bx当作计数器和相对偏移量input:mov al,byte ptr[si+bx]cmp al,30hjl exitcmp al,39hjle dig        ;>='0'&&<='9'cmp al,41h     ;<'A',exit     判断输入的合法性jl exitcmp al,46h     ;>='A'&&<='F'  如果是0~9,就进入dig,如果是A~F就进入hexjle hexcmp al,61hjl exitcmp al,66hjle shex      ;如果是在a~f之间jmp exitdig:sub al,30hmov byte ptr[si+bx],al      ;原来的缓冲区位置存放输入的真实数值jmp exithex:sub al,37h    mov byte ptr[si+bx],al      ;原来的缓冲区位置存放输入的真实数值jmp exitshex:sub al,57h    mov byte ptr[si+bx],al      ;原来的缓冲区位置存放输入的真实数值jmp exitexit:inc blmov dl,buff2+1cmp bl,dl                   ;计数功能jz returnjmp inputreturn:retget4h endpfunction proc nearlea si,buff2+2      ;用si寄存器保存第二个字符串的首地址mov bx,0           mov bp,1000hxor ax,axstart0:mov al,byte ptr[si]      ;内层循环,用cx计数start1:mul bp               ;存在(DX,AX)mov cx,4ror bp,cl             ;得到新的位权dec diadd bx,axxor ax,ax   ;清零inc si      ;下一个字符cmp di,0    ;结束je exit1   jmp start0exit1:retfunction endpbtod proc nearmov ax, bx             ;把bp寄存器的值给axmov cx, 1              ;计数器mov bx, 10             ;10作除数xor dx,dxdiv1:idiv bx              push dx                ;保存ax/10后的结果,ah存放余数,al存放商cmp ax, 0              ;商为0则开始输出jz outputmov dx, 0              ;置余数为0,继续除inc cxjmp div1output:pop dx               add dl, 30hmov ah, 2int 21hloop outputretbtod  endpcode endsend main

实验运行结果:

  • 实验小结:

本次实验,一开始我理解题意错误,以为是分开输出对应的BCD码,这提醒我们看清题意很重要。

在本次代码中,首先我们做一个输入提示:

然后我们把缓冲区输入的所有数,进行真实数值处理

假如我们输入的是1011,那么现在在缓冲区存放的就不是31,30,31,31了,而是01,00,01,01,这一步操作方便我们接下来输出成10进制。

这一步是将二进制数全部乘以它对应的位权,得到实际的十进制数值,方法就是,向左移动寄存器,将其乘以对应位权后保存下来。

这一步就是,我们把最后的数分别输出,方法就是除以10得到余数,然后把余数压栈最后输出。

这是本学期最后一次汇编实验课,但是整体感觉自己的汇编编程能力,还有很多不足,平时还是应该要多上机实验。

http://www.yayakq.cn/news/271132/

相关文章:

  • 全屏家居网站模板做网站宣传语
  • 丽水城乡建设局网站新手可以做网站营运吗
  • 企业内部系统网站制作国内搜索引擎排名2022
  • 设计网站需求中国菲律宾概念股
  • 网站怎么做关键词在哪做网站搬家
  • 网站建设书籍绵阳辉煌网站建设
  • 怀远做网站电话网站建设最便宜多少钱
  • h5网站怎么做api对接建设工程合同备案网站
  • 哪个cms做企业网站好想要找个网站做环评公示
  • 企业类网站包括哪些网站都有什么类型
  • 哪里有做家教网站的阿里云 企业 网站
  • 有那个网站做简历模板临沂网站开发多少钱
  • 重庆神态网站建设开发一个手游游戏要多少钱
  • 网站建设与运营在线考试wordpress文本编辑器插件
  • 做赌场网站代理做网站ddos攻击
  • 优站点网址收录网logo在线设计软件
  • 婚庆 网站模板企业网络推广方案怎么做
  • 金隅嘉华大厦网站建设公司网站推广的软文
  • 简单电商网站模板施工企业会计核算办法2021
  • 网站建设作品图片做乒乓球网站的图片
  • 网站建设的技术风险分析与规避济南网站建设推广服务
  • 昆山外贸型网站制作12333社保查询网
  • 做语文综合题的网站机房网站建设方案
  • 寻找扬中网站建设建设银行的网站用户名
  • 怎样php网站建设建设网站的模板下载
  • 网站建设专家北京注安怎么做网页存文档
  • 如何免费建设公司网站html电影网站模板下载工具
  • 济宁君天建设公司网站西安做百度推广网站 怎样备案
  • 洛阳网站设计备案 网站语言
  • 找人做网站应该注意什么论述网站建设及运营流程