;HtoD

 data segment
n dw ?
data ends stack segment
db dup(?)
stack ends code segment
assume cs:code,ss:stack,ds:data
start:mov ax,stack
mov ss,ax
mov sp,
mov ax,data
mov ds,ax mov si,
mov di,
mov bx,
mov cx,
;input the number which is lower than 6,5536,0000(65536(high)*10000(low))
s:mov ah,
int 21h
cmp al,0dh ;when input '\n',quit
jz t
sub al,30h
mov ah,
mov ds:[],ax
;high part
mov ax,bx
mul si
mov bx,ax
;low part
mov ax,cx
mul si ;ax*10=dx_a
div di ;can't div 10000h(0000h~FFFFh) =ax(Shang)...dx(Yu) add bx,ax ;high part
mov cx,dx ;low part
add cx,ds:[] ;it won't JinWei , because
;dx_ax=ax*10 , the last character of dx_ax value 0 ,
;dx=dx_ax%10000 , the last character of dx is 0 ,
;dx=dx+ds:[0](0~9) , the last character won't JinWei ,
;thus cx won't JinWei
jmp s
t:mov ax,cx
mov dx,bx cmp dx,
jnz HtoD_dword
call HtoD_word exit:mov ah,4ch
int 21h HtoD_word:
mov bx, ;division
mov cx,
mov dx, ;high part(dx_ax<10000)
u:div bx
push dx
mov dx,
inc cx
cmp ax,
jnz u mov ah,
v:pop dx ;dx<10
add dl,30h ;0->48 48
int 21h
loop v ret HtoD_dword:
push ax ;store low part
mov ax,dx
call HtoD_word
;output '0'(low part must contain four character)
pop bx ;bx=low part
mov ah,
mov dl,''
cmp bx,
ja w
int 21h
cmp bx,
ja w
int 21h
cmp bx,
ja w
int 21h w:mov ax,bx ;ax=low part
call HtoD_word jmp exit code ends
end start ;mov ax,432
;call HtoD_word ;mov ax,0
;mov dx,1
;call HtoD_dword

输入一个十进制的数到dx_ax,然后十六进制转十进制输出的更多相关文章

  1. 20150912华为机考1之"输入一个字符串,将其中出现次数最多的字符输出"

    不吐槽华为的服务器了,直接上正文 输入:字符串(英文字母),长度不超过128 输出:出现频率最高的字母 思路写在注释文档 /* Input a string * Output the most fre ...

  2. C语言,输入一个正整数,按由大到小的顺序输出它的所有质数的因子(如180=5*3*3*2*2)

    #include <iostream> using namespace std; int main() { long num; while(cin >> num){ ){ co ...

  3. C++输入一个字符串,把其中的字符按照逆序输出的两种方法

    用字符数组方法: 基本思路是,先判断字符的结束标志'\0',然后从该位置向前输出. 实现代码: #include<iostream> using namespace std; int ma ...

  4. PHP:第一章——PHP中十进制、二进制、八进制、十六进制转换

    //十进制.二进制.八进制.十六进制转换 //十进制转换为二进制decbin()函数: //echo decbin(5);//输出:101 //十进制转换为八进制decoct()函数 //echo d ...

  5. 输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数

    题目:输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数.例如输入12,从1到12这些整数中包含1 的数字有1,10,11和12,1一共出现了5次. 分析:首先最先想到的是遍历从1到n的每 ...

  6. java语言将任意一个十进制数数字转换为二进制形式,并输出转换后的结果

    package com.llh.demo; import java.util.Scanner; /** * * @author llh * */ public class Test { /* * 将任 ...

  7. 17.从键盘上输入一个正整数n,请按照以下五行杨辉三角形的显示方式, 输出杨辉三角形的前n行。请采用循环控制语句来实现。 (三角形腰上的数为1,其他位置的数为其上一行相邻两个数之和。) 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1

    17.从键盘上输入一个正整数n,请按照以下五行杨辉三角形的显示方式, 输出杨辉三角形的前n行.请采用循环控制语句来实现. (三角形腰上的数为1,其他位置的数为其上一行相邻两个数之和.) 1 1 1 1 ...

  8. PYTHON练习题 二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数。

    Python 练习 标签: Python Python练习题 Python知识点 二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数,如果大于预设的 ...

  9. 输入一个秒数,要求转换为XX小时XX分XX秒的格式输出出来;

    package arithmetic; import java.util.Scanner; import org.junit.Test; public class Test02 { /** * 输入一 ...

随机推荐

  1. Android开发——进程间通信之Bundle和文件

    0.  前言 不论是Android还是其他操作系统,都会有自己的IPC机制,所谓IPC(Inter-Process Communication)即进程间通信.首先线程和进程是很不同的概念,线程是CPU ...

  2. EZ 2018 05 01 NOIP2018 模拟赛(十一)

    莫名其妙暴涨Rating 其实题目都挺好挺简单的,但是越简单就越容易ZZ 不理解问什么第一题这么多人找环 不过T2是真心细节题,T3太难了 题目戳这里 T1 仔细分析题意发现那个交换规则就是废话,如果 ...

  3. vue中的单项数据流

    在VUE中,数据从父组件流向(传递)给子组件,只能单向绑定,在子组件内部不应该修改父组件传递过来的数据. 如果必须修改子组件中接收的数据,可以: 1. 作为data中局部数据,进行改动 2. 作为子组 ...

  4. 基于.NET的3D开发框架/工具比较

    好久木有写博客了,这么日子以来忙忙碌碌的,也没大有时间潜心学习和梳理.最近刚好接手一个3D显示的活,虽然还没怎么弄明白,但是也看过一些方案,走了一些弯路,经过一些浅显的了解(3D Display这里面 ...

  5. 一篇带你读懂TCP之“滑动窗口”协议

    前言 你现在的努力,是为了以后有更多的选择. 在上一篇文章通过"表白"方式,让我们快速了解网络七层协议了解了网络七层协议. 接下来我们要把重心放在网络传输的可靠性上面.一起来看TC ...

  6. sql注入语句整理

    1.判断有无注入点; and 1=1 and 1=2 2.猜表一般的表的名称无非是admin adminuser user pass password 等..and 0<>(select ...

  7. SQLite与ContentProvider

    http://www.rom007.com/SQLite-yu-ContentProvider.html 在Android中,对于数据的存贮,有几种方式,有文件方式,有文件式数据库方式,Android ...

  8. 《Linux内核设计与实现》学习记录一

    chapter1 Linux内核简介 前言:Unix是一个具有相似应用程序编程接口(API)并且基于相似设计理念的操作系统家族. 1.1 Unix的历史 1.Unix演化版实现了任务管理.换页机制.T ...

  9. Linux内核分析(第四周)

    扒开系统调用的三层皮(上) 一.用户态.内核态.中断 (上周课件有学习到) 1.地址空间是一个显著的标志(是逻辑地址,不是物理地址) 2.CPU每条指令的读取都是通过cs:eip这两个寄存器:0xc0 ...

  10. Linux内核分析第二周总结

    计算机是如何工作的? 计算机的"三大法宝": 存储程序计算机 函数调用堆栈 中断机制 堆栈是计算机运行高级语言的基础 函数调用堆栈: 32位X86通过函数调用堆栈来传递参数 使用e ...