计算机汇编语言运用哪个进制,运用汇编语言怎样以2进制、8进制、10进制、16进制方式输出10进制的数的计算结果。...

满意答案

assume cs:code

data segment

db 10 dup (0)

data ends

stack segment

dw 8 dup (0)

stack ends

code segment

start:mov ax,12666

mov bx,data

mov ds,bx

mov si,0

mov bx,stack

mov ss,bx

mov sp,16

call dtoc

mov dh,8

mov dl,3

mov cl,2

call show_str

mov ax,4c00h

int 21h

dtoc:push ax

push cx

push dx

push si

xor si,si

s0:mov cx,10 ;除数赋给cx

mov dx,0

;以下操作取字符

call divdw ;调用不产生溢出的除法运算

add cx,30h

push cx ;cx中保存的是子程序调用后得到的余数,入栈

inc si ;使用si记录有多少位数

mov cx,ax ;将商赋给cx,判断各位的数值是否全部求出

jcxz ok0

jmp short s0

ok0:mov cx,si

xor si,si ;以下将得到各位数值保存到内存单元中

s1: pop ax

mov [si],al

inc si

loop s1

mov byte ptr [si],0

pop si

pop dx

pop cx

pop ax

ret ;返回

divdw:push bx ;用bx暂存,先将其入栈,程序结束时还原原值

push ax ;将被除数的低16位入栈,下一步计算时用

;以下进行被除数高16位与除数的除法运算

mov ax,dx ;将被除数的高16位赋给ax

xor dx,dx ;被除数的高16位清零

div cx

mov bx,ax ;将高位的商暂存在bx中

;以下进行被除数低16位与除数的除法运算

pop ax ;将被除数低16位放入ax中,上步计算的余数作为本次运算的高16位,已默认在dx中

div cx ;商在ax中,余数在dx中

;按程序要求将结果保存

mov cx,dx ;cx中保存结果的余数

mov dx,bx ;dx中保存结果的高16位,ax中保存着结果的低16位

pop bx ; 还原bx中的值

ret

show_str:push ax

push bx

push cx

push dx

push es

mov ax,0b800h

mov es,ax

dec dh

mov ax,160

mul dh

mov bx,ax

mov ax,2

mul dl

sub ax,2

add bx,ax

mov di,0

mov al,cl

s2: mov cl,[si]

mov ch,0

jcxz ok

mov es:[bx+di],cl

mov es:[bx+di+1],al

inc si

add di,2

jmp short s2

ok: pop es

pop dx

pop cx

pop bx

pop ax

ret

code ends

end start

00分享举报

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

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

相关文章

iOS手势UIGustureRecognizer

UIGestureRecognizer 是一个具体手势的基类,提供了较为简单的手势实现方式 The concrete subclasses of UIGestureRecognizer are the following: UITapGestureRecognizer UIPinchGestureRecognizer UIRotationGestureRecognizer UISwipeGestureRecognizer …

pmtk3怎样离线安装

pmtk3是配合书的机器学习算法包,安装方法有在线离线两种,在线的要翻墙,离线的在本地即可完成。因此下面介绍离线安装办法: Pmtk3安装说明 1 首先阅读https://github.com/probml/pmtk3这个网页,上面主要说明了在线安装…

Timer组件的使用

1,Timer组件的使用 (可以用来做计时器) 可以把它看作一个与事件无关的循环,用enabled,是否启用组件,interval时间间隔,单位毫秒 **做一个获取计时的 获取当前系统时间,用Label与Timer //如果写死循环,窗口不会出来,因为一直在循环.所以在timer的事件Tick写代码. private void t…

计算机辅助设计受力分析,假肢接受腔的受力分析和计算机辅助设计

摘要:接受腔的设计是假肢设计中最关键的部分,其设计的好坏直接关系到假肢设计的成败.为了改进接受腔的设计,需要对接受腔进行受力分析研究,了解接受腔/残肢界面潜在的生物力学关系. 本论文以四边形接受腔为例论述大腿假肢在接受腔/残肢系统中的作用,分析了接受腔各壁…

读书笔记-内存初始化和清理

本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 在Java开发中,对象创建、数据关系、垃圾回收始终是不变的话题,今天我们来简单说一下初始化和清理的问题。 我们知道对象未被初始化即被使用,是要报错的…

1.1 Machine learning: what and why?

1. 基本概念 机器学习的种类:supervised learning / unsupervised learning / reinforcement learning. 2,有趣问题 这是supervised learning的training data的例子,左边是以非常直观的方式(图画)描述,右边是观察左图的特征&…

winform第三方控件wmp

用windows media player 制作一个简单的的音乐播放器。 先把播放器的属性设为null。 private void button5_Click(object sender, EventArgs e)//从本地添加歌曲按钮 {OpenFileDialog of new OpenFileDialog();//打开文件对话框of.Filter "(mp3,wav,mp4,mov,wmv,mpg)|*.…

服务器lunix系统开启多用户,Ubuntu 服务器设置软件多用户访问

django 学习第一天搭建环境目前django版本是1.10,我学习的基础教材是 Web Development with Django Cookbook, Second Edition 搭建好配置环境 ssh免认证登录 修改一下 ...sed实例精解--例说sed完整版

存储过程知识总结【一】

/**描述: 存储过程知识点总结,以Northwind数据库的Employees表为例*/ --1.没有参数的存储过程create procedure usp_NoParameterSelectasbegin select * from dbo.Employeesend GO --执行测试EXECUTE usp_NoParameterSelect GO--2.带参数的存…

1034. 有理数四则运算(20)

本题要求编写程序,计算2个有理数的和、差、积、商。输入格式:输入在一行中按照“a1/b1 a2/b2”的格式给出两个分数形式的有理数,其中分子和分母全是整型范围内的整数,负号只可能出现在分子前,分母不为0。输出格式&…

ADO.NET,浅显

ADO.NET 之非查询操作 ADO.net是c sharp中一种将数据库与软件连接的技术. 在用户来操作窗口,来对数据库进行更改. 非查询操作死代码 ; Using Data.SqlClient;//导入数据库客户端 string sql string.Format("增删改的sql语句,要操作的变量用占位符表示"); //如果用w…

ajax的学多久,ajax第二天学习

post方式发送请求要首先设置请求头(参数设置为ajax.setRequestHeader("content-type","application/x-www-form-urlencoded")-->send中放入要发送的参数(keyvalue&keyvalue)-->发送数据(ajax.send(context))当xml作为载体的时候servlet中声明发送…

马后炮之12306抢票工具(四)--抢票Demo,2014年1月9日终结版

时隔一年多,终于朋友的忽悠下吧抢票Demo的最后一步完善了,与2014年1月9日成功生成车票。 Demo仅经过自己测试,并未在高峰期进行测试,代码质量很差,因为赶工,套用去年模板并未使用设计模式。 代码存在如下BU…

华为虚拟一键部署服务器,一键部署云服务器

一键部署云服务器 内容精选换一换SAP NetWeaver分布式部署如图1所示。该部署方式是由多个SAP实例组成,一个SAP实例是一组同时开始和结束的进程。在分布式系统中,所有实例都运行在独立的云服务器上,主要包括以下实例:ABAP Central …

ADO.NET多值查询

1,新控件,可以显示很多数据,视觉清晰.相当于表. listView,列表视图 添加与数据库相关的列名. SqlDataReader sdr cmd.ExecuteReader(); listView.Items.Clear();//避免数据重复 while(sdr.Read())//读所有行 {string a sdr["第一个列名"].ToString();ListviewIte…

1040. 有几个PAT(25

字符串APPAPT中包含了两个单词“PAT”,其中第一个PAT是第2位(P),第4位(A),第6位(T);第二个PAT是第3位(P),第4位(A),第6位(T)。现给定字符串,问一共可以形成多少个PAT?输入格式:输入只有一行,包含一个字符串…

我的世界服务器显示不出地图,为什么我的世界服务器地图加载不了

期中一段:java:751) ~[ahb.class:?]at net.minecraft.world.World.func_147439_a(World.java:677) ~[ahb.class:?]at com.tmtravlr.jaff.entities.EntityFish.isInTank(EntityFish.java:89) ~[EntityFish.class:?]at com.tmtravlr.jaff.entities.EntityFish.func…

dataGridview与下拉框高级绑定

//在dataGridView里批量显示所有数据string sql "select * from mingxing";SqlConnection con new SqlConnection(address);//今天所学,生成适配器工具sda,批量读取(读完)SqlDataAdapter sda new SqlDataAdapter(sql, con);//创建对象dt,可以理解为是客户端的一个…