输入一个正数,该数减去递增奇数(从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

汇编语言(二十二)之统计减去奇数的个数相关推荐

  1. 二十八、统计机器翻译基础

    二十八.统计机器翻译基础 由于本人喜欢在纸上手推原理,所以附上照片,欢迎提出建议

  2. Python入门(二十二)- 常见模块2(正则表达式及容器)

    二十二 常见模块2(正则表达式及容器) 22.1 正则表达式及re模块 正则表达式(Regular Expression)用于描述一种字符串匹配模式(Pattern),它可以用于检查一个字符串是否含有 ...

  3. 插入DLL和挂接API——Windows核心编程学习手札之二十二

    插入DLL和挂接API --Windows核心编程学习手札之二十二 如下情况,可能要打破进程的界限,访问另一个进程的地址空间: 1)为另一个进程创建的窗口建立子类时: 2)需要调试帮助时,如需要确定另 ...

  4. OpenCV学习笔记(二十一)——绘图函数core OpenCV学习笔记(二十二)——粒子滤波跟踪方法 OpenCV学习笔记(二十三)——OpenCV的GUI之凤凰涅槃Qt OpenCV学习笔记(二十

    OpenCV学习笔记(二十一)--绘图函数core 在图像中,我们经常想要在图像中做一些标识记号,这就需要绘图函数.OpenCV虽然没有太优秀的GUI,但在绘图方面还是做得很完整的.这里就介绍一下相关 ...

  5. OpenCV学习(二十二) :反向投影:calcBackProject(),mixChannels()

    OpenCV学习(二十二) :反向投影:calcHist(),minMaxLoc(),compareHist() 参考博客: 反向投影backproject的直观理解 opencv 反向投影 颜色直方 ...

  6. 【C语言】二十二步了解函数栈帧(压栈、传参、返回、弹栈)

    阅读本文需要掌握的知识 熟练使用--c语言函数 进入正题前 首先我们为什么要学习函数的栈帧? 简单回答就是:增加内功 学习函数调用的底层代码,了解函数如何传参.如何返回 这样对于函数的使用有很大的帮助 ...

  7. 【Visual C++】游戏开发五十五 浅墨DirectX教程二十二 水乳交融的美学:alpha混合技术

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/15026917 作者:毛星 ...

  8. 数字符号哥德尔数配置及变元、公式和谓词散议——哥德尔读后之二十二

    数字符号哥德尔数配置及变元.公式和谓词散议--哥德尔读后之二十二 这篇博文折腾了我近一个月,广州从8月以来几乎天天都在摄氏35度的酷热之中,满以为在秋凉之前可以完成,可你要从阅读哥德尔原著中找到些感觉 ...

  9. 程序员编程艺术第一 二十二章集锦与总结(教你如何编程)

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 程序员编 ...

最新文章

  1. Python实现列表去重的⽅法
  2. 菜鸟学自动化测试(四)----selenium 命令之验证页面元素
  3. 云呼叫中心系统: 引领企业通信产业下一春
  4. 常用函数式接口之Predicate
  5. 在linux中安装Qt4.8,在linux 如何安装qt 4.8.1
  6. Android 不能勾选 Project Build Target
  7. Python2读取Excel文件时候文件名称是中文的时候处理
  8. jquery上传图片插件(支持各种功能)
  9. 魏兴华_ORACLE优化器革命漫谈
  10. Reverse Integer(C++)
  11. JAVA程序性能优化读书笔记
  12. 贝叶斯网络分析软件Netica
  13. 百度首页制作 (仿百度首页)
  14. 搜狗输入法linux版怎么安装,Linux 搜狗输入法的安装(Ubuntu版)
  15. WSO2流处理器相关学习(1)快速入门指南【转】
  16. Android基础:ViewPage2
  17. 网工软考中级数据通信技术
  18. 技嘉1080显卡体质测试软件,技嘉GTX1080 Xtreme Gaming显卡评测:创新的重峦式三风扇...
  19. Python 爬取携程所有机票
  20. Invalid regular expression: /(.*\\__fixtures__\\.*|node_modules[\\\]react[\\...问题

热门文章

  1. mysql 变量 数据类型_浅谈mysql(二)数据类型
  2. Java访问控制修饰符
  3. [NOIP2008 提高组] 笨小猴-map容器用来标记
  4. C++string容器-字符存取
  5. 对象的多数组表示(不一样的链表-多数组表示链表)
  6. 算法-排序-快速排序(包含多种快速排序)
  7. ipa在线安装搭建_三种越狱工具安装方法
  8. 滑动窗口最大值-leetcode 239题
  9. P2596 [ZJOI2006]书架(fhq treap)
  10. Codeforces Round #613 (Div. 2) E. Delete a Segment 离散化