汇编语言(二十二)之统计减去奇数的个数
输入一个正数,该数减去递增奇数(从1开始)直至小于等于零为止,计算该数减去奇数的个数
程序运行:
代码:
datas segmentNUM dw 17ANS dw 0NUM_string db 0ffh, 0 ,100 dup(?)inputNUM db 'input NUM=$'error_number db 0dh,0ah,'error number$'outputANS db 0dh,0ah,'ANS=$'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;输入a提示lea dx,inputNUMmov ah,9int 21h;输入alea dx,NUM_stringmov ah,10int 21h;a转成十进制数lea si,NUM_string+1call translate_to_numbermov NUM,ax;mov ax,NUMmov bx,1 mov cx,0 s:sub ax,bx ;减去奇数inc cx add bx,2 ;奇数加2cmp ax,0 ;判断ax是否大于0jg s ;若大于0,循环继续mov ANS,cx lea dx,outputANS ;输出ANSmov ah,9int 21hmov ax,ANScall decimalretmain endp;字符串转换为十进制数
translate_to_number proc near ;si:lenght firstpush cx push dx push bx push si push di mov di,10mov ax,0mov cl,[si]mov ch,0 cmp cx,0 jz errinc sitran:mov bl,[si]inc sicmp bl,'0'jb errcmp bl,'9'ja err sub bl,30hxor bh,bh mul di add ax,bx loop tranjmp exiterr:lea dx,error_numbermov ah,9int 21h mov ax,4c00hint 21hexit:pop di pop si pop bx pop dxpop cx ret
translate_to_number endpdecimal proc nearpush axpush cxpush dxpush bxcmp ax,0jge plusmov bx,axmov dl,'-'mov ah,2int 21hneg bxmov ax,bxplus:mov cx,0mov bx,10de:xor dx,dxdiv bxpush dxinc cxcmp ax,0jnz dede1:pop dxadd dl,30hmov ah,2 int 21h loop de1 pop bxpop dxpop cxpop axret decimal endp
codes endsend main
汇编语言(二十二)之统计减去奇数的个数相关推荐
- 二十八、统计机器翻译基础
二十八.统计机器翻译基础 由于本人喜欢在纸上手推原理,所以附上照片,欢迎提出建议
- Python入门(二十二)- 常见模块2(正则表达式及容器)
二十二 常见模块2(正则表达式及容器) 22.1 正则表达式及re模块 正则表达式(Regular Expression)用于描述一种字符串匹配模式(Pattern),它可以用于检查一个字符串是否含有 ...
- 插入DLL和挂接API——Windows核心编程学习手札之二十二
插入DLL和挂接API --Windows核心编程学习手札之二十二 如下情况,可能要打破进程的界限,访问另一个进程的地址空间: 1)为另一个进程创建的窗口建立子类时: 2)需要调试帮助时,如需要确定另 ...
- OpenCV学习笔记(二十一)——绘图函数core OpenCV学习笔记(二十二)——粒子滤波跟踪方法 OpenCV学习笔记(二十三)——OpenCV的GUI之凤凰涅槃Qt OpenCV学习笔记(二十
OpenCV学习笔记(二十一)--绘图函数core 在图像中,我们经常想要在图像中做一些标识记号,这就需要绘图函数.OpenCV虽然没有太优秀的GUI,但在绘图方面还是做得很完整的.这里就介绍一下相关 ...
- OpenCV学习(二十二) :反向投影:calcBackProject(),mixChannels()
OpenCV学习(二十二) :反向投影:calcHist(),minMaxLoc(),compareHist() 参考博客: 反向投影backproject的直观理解 opencv 反向投影 颜色直方 ...
- 【C语言】二十二步了解函数栈帧(压栈、传参、返回、弹栈)
阅读本文需要掌握的知识 熟练使用--c语言函数 进入正题前 首先我们为什么要学习函数的栈帧? 简单回答就是:增加内功 学习函数调用的底层代码,了解函数如何传参.如何返回 这样对于函数的使用有很大的帮助 ...
- 【Visual C++】游戏开发五十五 浅墨DirectX教程二十二 水乳交融的美学:alpha混合技术
本系列文章由zhmxy555(毛星云)编写,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/15026917 作者:毛星 ...
- 数字符号哥德尔数配置及变元、公式和谓词散议——哥德尔读后之二十二
数字符号哥德尔数配置及变元.公式和谓词散议--哥德尔读后之二十二 这篇博文折腾了我近一个月,广州从8月以来几乎天天都在摄氏35度的酷热之中,满以为在秋凉之前可以完成,可你要从阅读哥德尔原著中找到些感觉 ...
- 程序员编程艺术第一 二十二章集锦与总结(教你如何编程)
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 程序员编 ...
最新文章
- Python实现列表去重的⽅法
- 菜鸟学自动化测试(四)----selenium 命令之验证页面元素
- 云呼叫中心系统: 引领企业通信产业下一春
- 常用函数式接口之Predicate
- 在linux中安装Qt4.8,在linux 如何安装qt 4.8.1
- Android 不能勾选 Project Build Target
- Python2读取Excel文件时候文件名称是中文的时候处理
- jquery上传图片插件(支持各种功能)
- 魏兴华_ORACLE优化器革命漫谈
- Reverse Integer(C++)
- JAVA程序性能优化读书笔记
- 贝叶斯网络分析软件Netica
- 百度首页制作 (仿百度首页)
- 搜狗输入法linux版怎么安装,Linux 搜狗输入法的安装(Ubuntu版)
- WSO2流处理器相关学习(1)快速入门指南【转】
- Android基础:ViewPage2
- 网工软考中级数据通信技术
- 技嘉1080显卡体质测试软件,技嘉GTX1080 Xtreme Gaming显卡评测:创新的重峦式三风扇...
- Python 爬取携程所有机票
- Invalid regular expression: /(.*\\__fixtures__\\.*|node_modules[\\\]react[\\...问题
热门文章
- mysql 变量 数据类型_浅谈mysql(二)数据类型
- Java访问控制修饰符
- [NOIP2008 提高组] 笨小猴-map容器用来标记
- C++string容器-字符存取
- 对象的多数组表示(不一样的链表-多数组表示链表)
- 算法-排序-快速排序(包含多种快速排序)
- ipa在线安装搭建_三种越狱工具安装方法
- 滑动窗口最大值-leetcode 239题
- P2596 [ZJOI2006]书架(fhq treap)
- Codeforces Round #613 (Div. 2) E. Delete a Segment 离散化