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

500做网站优质企业网站建设

500做网站,优质企业网站建设,网站极速备案,它有什么特点实验名称#xff1a;实验四 两个数的相乘 实验内容#xff1a; 用子程序形式编写#xff1a; A*B#xff1a;从键盘输入a和b#xff0c;计算A*B#xff0c;其中乘法采用移位和累加完成 实验过程#xff1a; 源代码#xff1a; data segmentmul1 db 16,?,16 dup(?… 实验名称实验四 两个数的相乘 实验内容 用子程序形式编写 A*B从键盘输入a和b计算A*B其中乘法采用移位和累加完成 实验过程 源代码 data segmentmul1 db 16,?,16 dup(?)mul2 db 16,?,16 dup(?)buff1 db Please input mul1: $buff2 db Please input mul2: $buff3 db The consequense is : $data endscode segmentassume cs:code,ds:datamain proc far                   ; main programmov ax,datamov ds,axpush dsxor ax,ax                    ;push ds and es and ax0call tips1                   ;提示用户输入第一个数call input1                  ;在缓冲区接收call tips2                   ;提示用户输入第一个数call input2                  ;在缓冲区接收lea si,mul12                ;开始将第一个数10进制转换成2进制call dtob      push bx                      ;压栈保存第一个数的2进制lea si,mul22call dtob                    ;开始将第一个数10进制转换成2进制mov dx,bx                    ;dx中装的是第二个数的二进制pop bx                       ;bx中装的是第一个数的二进制call multiple                ;调用乘法子程序call tips3                   ;提示结果输出call btod                    ;将结果的二进制转换成十进制输出mov ah,4chint 21hretmain endp;-----------------------------------------------------------tips1 proc nearmov dx,offset buff1mov ah,9int 21hrettips1 endp;------------------------------------------------------------input1 proc nearlea dx,mul1mov ah,0ahint 21hmov dl,13mov ah,2int 21hmov dl,10mov ah,2int 21hretinput1 endp;--------------------------------------------------------------tips2 proc nearmov dx,offset buff2mov ah,9int 21hrettips2 endp;-----------------------------------------------------------input2 proc nearlea dx,mul2mov ah,0ahint 21hmov dl,13mov ah,2int 21hmov dl,10mov ah,2int 21hretinput2 endp;--------------------------------------------------------------dtob proc nearmov bx,0getnum:mov al,byte ptr [si]     ;用al保存第一个字符sub al,30hjl  exit1cmp al,9jg  exit1cbwxchg ax,bxmov dx,10mul dxxchg ax,bxadd bx,axinc si                  ;循环如果遇到的不是0~9的数就自动跳出程序jmp getnumexit1: retdtob endpmultiple proc nearmov bp,0                ;用bp寄存器保存结果start:shr dx,1                ;右移第二个乘数判断CF的值如果是1就进行加法操作如果是0就继续右移jc additionshl bx,1                ;第一个乘数左移cmp dx,0                ;当第二个数为0是结束jz exit2jmp startaddition:add bp,bx               ;将相加结果保存在BP寄存器中shl bx,1jmp startexit2 :retmultiple endpbtod proc nearmov ax, bp             ;把bp寄存器的值给axmov cx, 1              ;计数器mov bl, 10             ;10作除数div1:idiv bl              push ax                ;保存ax/10后的结果ah存放余数al存放商cmp al, 0              ;商为0则开始输出jz outputmov ah, 0              ;置余数为0继续除inc cxjmp div1output:pop dx               mov dl, dh            ;出栈输出余数add dl, 30hmov ah, 2int 21hloop outputretbtod  endptips3 proc nearmov dx,offset buff3mov ah,9int 21hrettips3 endpcode endsend main 运行结果 实验小结 这次的实验有一个很困惑我的地方就是我一开始弄错了以为我们用户能用的寄存器只有AX,BX,CX,DX这四个所以我一直拿缓冲区的内存当作一个寄存器来回使用这对我进行数的操作造成了很大的不便此外我的移位操作乘法设计的很麻烦一开始总是想用一个寄存器保存第二个乘数的1的位权这就遇到了我上面说的寄存器不够的情况后来在老师的帮助下我改进了算法只要判断右移的第二个乘数CF位是0还是1如果是1就把AX左移的结果加进来AX的值无需保存只要最后把结果放进BP寄存器就可以了。通过这次实验我收获了很多。
http://www.zqtcl.cn/news/684372/

相关文章:

  • 制作网站支付方式定制网站开发哪里好
  • 常州网络网站建设行情软件app网站大全下载
  • 出台网站集约化建设通知彩票网站开发的
  • 怎样创建个人的网站怎么学做网站
  • 小江高端网站建设网站建设中可能升级
  • 网站建设的原则有哪些内容wordpress的底部版权
  • 一个网站建立团队大概要多少钱大连专业网站建设
  • 宁波网站公司相册插件wordpress
  • 科技网站域名大型网站开发团队
  • 温岭建设规划局网站注册新公司网上怎么核名
  • dede网站移动端怎么做golang 网站开发 开源
  • 织梦网站导航固定沈阳男科医院在线咨询免费
  • 四川华鸿建设有限公司网站网站建设需求文案
  • 汕头东莞网站建设怎么制作微信小程序app
  • 网站建设预算方案模板怎么做网络推广网站
  • 顺义网站开发wordpress内容主题模板下载
  • 永康做网站的化工网站模板免费下载
  • 潍坊高密网站建设如何做网页推广
  • 杭州房产网站建设wordpress 替换谷歌字体
  • 陕西省建设工程质量安全监督总站网站开发公司与施工单位工程造价鉴定报告
  • 嘉兴网站建设企业阿里巴巴国际贸易网站
  • 临沂手机网站建设珠海手机网站建设价格
  • 56m做图片视频的网站是什么软件开发和大数据哪个前景好
  • 郑州网站建设哪家做快消品的网站
  • 太原做网站费用东莞it外包
  • 深圳网站关键词优化公司集团网站建
  • 网站建设项目合同传奇手游网站
  • 如何学习网站建设app申请付费网站
  • 微网站开发平台案例重庆网站设计哪家公司好
  • 快递空包网站建设网站的首页怎么做的