图 1 程序运行示意(3位整数、负数)

图 2 程序运行示意(4位正数、负数)

图 3 程序运行示意(边界数据)
stack   segment stackdb 512 dup(?)
stack   endsdata    segmentstring0 db "Enter a decimal number(-32768~32767)", 0ah, 0dh, '$'string1 db "Press any key to continue!", 0ah, 0dh, '$'string2 db " is odd.", 0ah, 0dh, '$'string3 db " is even.", 0ah, 0dh, '$';value    dw 10
data    endscode    segmentassume ds: data, cs: code, ss: stack
main:mov ax, stackmov ss, axmov ax, datamov ds, ax;mov ax, value;push ax;call   far ptr judgelea dx, string0mov ah, 09hint 21hpush axcall   far ptr readsiw;push ax;call    far ptr dispsiwmov bx, axpush bx ;push axcall   far ptr judgecmp ax, 1je is_oddjmp is_evenis_odd:pop bx ;mov ax, bx ;push axcall    far ptr dispsiwlea dx, string2mov ah, 09hint 21hjmp almostis_even:pop bx ;mov ax, bx ;push axcall   far ptr dispsiwlea dx, string3mov ah, 09hint 21h    jmp almostjudge proc    farpush bpmov   bp,spmov    ax,word ptr [bp+6]and  ax,1jmp short judge_done
judge_done:pop  bpret
judge   endpreadsiw proc farpush bxpush cxpush dxxor bx, bx   xor cx, cx   mov ah, 1int 21hcmp al, '+'jz rsiw1cmp al, '-'jnz rsiw2mov cx, -1
rsiw1: mov ah,  1int 21h
rsiw2:    cmp al, '0'jb rsiw3cmp al, '9'ja rsiw3sub al, 30hxor ah, ahshl bx, 1mov dx, bxshl bx, 1shl bx, 1add bx, dxadd bx, axjmp rsiw1
rsiw3:cmp cx, 0jz rsiw4neg bx
rsiw4:mov ax, bxpop dxpop cxpop bxret
readsiw endpdispsiw proc farpush axpush bxpush dxtest ax, ax jnz dsiw1mov dl, '0' mov ah, 2int 21hjmp dsiw5
dsiw1:jns dsiw2  mov bx, axmov dl, '-'mov ah, 2int 21hmov ax, bxneg ax
dsiw2:  mov bx, 10push bx
dsiw3:cmp ax, 0jz dsiw4xor dx, dx div bx  add dl, 30h  push dx     jmp dsiw3
dsiw4:pop dxcmp dl, 10je dsiw5mov ah, 2int 21hjmp dsiw4
dsiw5:pop dxpop bxpop axret
dispsiw endplineFeed proc farpush axpush dxmov dl, 0dhmov ah, 2int 21hmov dl, 0ahmov ah, 2int 21hpop dxpop axret
lineFeed endpalmost:    lea dx, string1mov ah, 09hint 21hmov ah, 07hint 21h
done:       mov ah, 4chint 21h
code    endsend main

【8086汇编】输入一个整数,判断其奇偶性(输入范围:-32768~32767,含提示信息)相关推荐

  1. c++输入一个整数判断是否为完全平方数_matlab判断一个整数是完全平方数

    (C语言c++)判断一个数是否是 完全平方数的 整数倍 #include#includeint ispow(int x){    int& 用c编判断一个数是否是完全数 #include#in ...

  2. 用java将输入的整数逆序输出_输入一个整数判断这个整数是几位数,并把这个整数逆序输出! | 学步园...

    import java.util.Scanner; /** * * 问题:输入一个整数判断这个整数是几位数,并把这个整数逆序输出! * * @author Administrator * * 程序如下 ...

  3. c语言从键盘输入一个整数判断是否为素数,键盘输入一个正整数,程式设计判断其是否为素数(即质数)...

    键盘输入一个正整数,程式设计判断其是否为素数(即质数)以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 键盘输入一个正整数 ...

  4. 输入一个整数,判断它是几位数

    //输入一个整数,判断它是几位数public static void test05(int num){int count = 0;do {num = num/10;count++;}while(num ...

  5. 输入一个整数判断其是否是回文数

    每日壹句:如果你要驯服一个人,就要冒着掉眼泪的危险.我们从不惧怕眼泪,但是,要值得. "回文"是指正读反读都能读通的句子,它是古今中外都有的一种修辞方式和文字游戏,如"我 ...

  6. python从键盘输入一个数、判断其是奇数还是偶数_从键盘上输入一个整数,判断该数是奇数还是偶数并输出结果...

    C语言:从键盘上输入一个整数,计算整数的各位数字之和 #includeintGetNumber(intn)//用递归来实现很简单{intsum=0;if(n/10!=0){\x09sum+=GetNu ...

  7. 输入一个整数判断它是奇数还是偶数

    判断一个数是奇数还是偶数, 首先声明一个整数X,用scanf输入这个数,其次在用if语句作为判断条件去判断这个数,如果X%2它为0(就是代表这个X整除2),那么X就为偶数,反正(else)用print ...

  8. c++输入一个整数判断是否为完全平方数_[leetcode/lintcode 题解] 谷歌面试题:完美平方...

    给一个正整数 n, 请问最少多少个完全平方数(比如1, 4, 9...)的和等于n. 在线评测地址: LintCode 领扣​www.lintcode.com 样例 1: 输入: 12 输出: 3 解 ...

  9. 【java】输入一个整数判断它是偶数还是奇数

    import java.util.Scanner; public class prime {public static void main(String[] args) {// TODO 自动生成的方 ...

  10. python编写一个程序、输入一个数判断其是偶数还是奇数_编写程序,输入一个整数,判断后输出它是奇数还是偶数...

    编写程序:"输入一个整数,判断它是奇数还是偶数,是奇数输出JISHU,是偶数输出OUSHU"?(要求用函数调用) #includeusingnamespacestd;boolpan ...

最新文章

  1. iOS 2D绘图详解(Quartz 2D)之路径(点,直线,虚线,曲线,圆弧,椭圆,矩形)
  2. java dump分析工具_java性能分析与常用工具
  3. Linux系统的目录绑定配置
  4. Markdown:数学公式(4)
  5. 推荐算法炼丹笔记:Deep Bayesian的多目标推荐
  6. Java之多线程里面的锁理解以及synchronized与Lock的区别
  7. win10前置耳机插孔没声音_音频服务未运行怎么办?win7和win10电脑没声音了恢复方法...
  8. md5 加密 swfit版
  9. 用ISAPI Filter设置HttpOnly属性
  10. 将input file的选择的文件清空的两种解决方案
  11. 如何时刻保持在目标的正确轨道上
  12. 从零开始学英语 (洪恩教学光盘 8CD)
  13. 服务器常见故障及其解决方法
  14. CTC blank 理解
  15. phpstudy使用数据库教程
  16. 变量的定义、类型、注释、拼接字符串、选择循环结构、读取文件
  17. python爬取网盘分享链接_Python实战三 | 蓝奏网盘抓取网盘链接信息
  18. 利用公式实现RGB图转化为灰度图
  19. 各大跨境电商卖家不容错过下半年的促销活动安排
  20. USB 3.0硬件设计

热门文章

  1. 千万不要用memset函数对二维数组进行初始化
  2. oracle18c静默安装教程,centos7安装Oracle18c
  3. ESP8266——入门:点亮TFT液晶屏(五)
  4. pandas shift函数的用法
  5. latex入门(一)——latex网站overleaf
  6. 虚拟服务器+ftp上传错误,虚拟主机FTP无法上传文件解决办法
  7. 人人都是产品经理——一切从Kick Off开始
  8. 有关世界上第一台计算机的知识,计算机基础知识 1、世界上第一台电子计算机诞生于 A) 1943年 B) 1946年.doc...
  9. 【XJTUSE计算机图形学】第四章 真实感图形学(1)——–颜色视觉
  10. 简述窄带调频和宽带调频的_宽带调频和窄带调频的简单区别方法