输入身份证前十七位数字,输入18位身份证

程序运行:

代码:


datas segmentw      db  7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2y      db  '1','0','X','9','8','7','6','5','4','3','2'ID_max_length      db  18ID                 db  0, 19 dup(?)input              db 'input 17-bit digital code=$'output             db 0dh,0ah,'output ID=$'output_error       db 0dh,0ah,'input error$'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;输入提示lea dx,inputmov ah,9int 21h;输入Nlea dx,ID_max_lengthmov ah,10 int 21hlea si,IDmov cl,[si]                 ;设置循环次数cmp cl,17                   ;判断长度是否合法jnz errxor ch,ch inc si mov dx,0 s:mov al,17sub al,cl  lea bx,wxlat                       ;获取Wimov bl,[si]cmp bl,'0'                 ;判断字符是否合法jb errcmp bl,'9'ja errsub bl,30h                ;获取Aimul bl                    ;乘积add dx,ax                 ;累加求和inc siloop s mov ax,dxmov    bl,11                 ;和对11求余数div blmov al,ah lea bx,yxlat                     ;获得第一位字符mov ID+1+17,al           ;设置输出字符串mov ID+1+18,'$'lea dx,output           ;输出提示mov ah,9int 21hlea dx,ID+1             ;输出身份证号码mov ah,9int 21hjmp exiterr:lea dx,output_error         ;若错误,输出错误提示mov ah,9int 21h  exit:retmain endp
codes endsend main

汇编语言(二十七)之身份证最后一位求和校验相关推荐

  1. kivy学习二:做一个查询所在地区身份证前6位的小软件

    经过半个月的尝试,终于成功,记录下来备查! 做完之后发现有很多的问题没有解决,请大佬多批评指教! 强烈建议:学习KIVY的查看官方文档 需要用的知识: 1.字典的相关知识 2.kivy的下拉列表(Dr ...

  2. 【甄选靶场】Vulnhub百个项目渗透——项目二十七:Pinkys-Palace-2(LFI,端口敲震,ssh爆破,64位缓冲区溢出)

    Vulnhub百个项目渗透 Vulnhub百个项目渗透--项目二十七:Pinkys-Palace-2(LFI,端口敲震,ssh爆破,64位缓冲区溢出) 靶场地址

  3. 居民身份证号码的奥秘及身份证第18位(校验码)的计算方法

    2019独角兽企业重金招聘Python工程师标准>>> 居民身份证是国家法定的证明公民个人身份的证件.为了堵塞和制止假居民身份证的流通和使用,在查验和核查居民身份证时可掌握以下几个要 ...

  4. java身份证工具类(校验身份证是否合法、通过身份证获取年龄、性别、生日,将15位身份证转为18位等)

    一.简介 因为工作需要经常用到身份证做一些相关操作,于是通过查阅资料总结出一些常用的工具方法,包括校验身份证是否合法.通过身份证获取年龄.通过身份证获取性别.通过身份证获取户籍地址.通过身份证获取生日 ...

  5. mysql 怎么用SQL语句将老身份证号15位补位到新身份证号18位

    一.15位的身份证和18位的身份证的区别是什么? 只有15位号码的就是第一代身份证,而18位号码的则是第二代身份证.15位的身份证和18位的身份证的区别是:第二代身份证比第一代身份证增加了出生年份中的 ...

  6. 【Visual C++】游戏开发笔记二十七 Direct3D 11入门级知识介绍

    游戏开发笔记二十七 Direct3D 11入门级知识介绍 作者:毛星云    邮箱: happylifemxy@163.com    期待着与志同道合的朋友们相互交流 上一节里我们介绍了在迈入Dire ...

  7. 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验二十七:TFT模块 - 显示

    实验二十七:TFT模块 - 显示 所谓TFT(Thin Film Transistor)就是众多LCD当中,其中一种支持颜色的LCD,相较古老的点阵LCD(12864笑),它可谓高级了.黑金的TFT ...

  8. python验证身份证最后一位数字代表什么_身份证号码最后一位代表什么?

    展开全部 代表校验码(身份证最后一位).它是根据前面十七位数字码,按照ISO7064:1983.MOD11-2校验码计算出来的检验码. 计算方法 1.将前面的62616964757a686964616 ...

  9. python验证身份证最后一位数字代表什么_身份证最后一位不是数字而是X,代表什么含义?涨知识了...

    身为公民都具有身份证,而证明我们身份的证件,上面身份证号码并不都是数字,而有的身份证最后一位是字母X,这代表什么意思呢?了解之后,涨知识了. 我之前是在采集单位上班,经常会输入一些身份证号码.我们都知 ...

最新文章

  1. Java实用教程笔记 类与对象(续)
  2. UVa10526 - Intellectual Property(后缀数组的应用)
  3. 再见丑陋的 Swagger,这个API神器界面更炫酷,逼格更高,体验更好!
  4. linux禁止修 5在线阅读,linux – 如何在不重新编译内核的情况下禁用CentOS 5.3中的nf_conntrack内核模块...
  5. golang CI: Use result of type assertion to simplify cases SCC-S1034
  6. 深入浅出JS:Two
  7. 光盘装系统和U盘装系统有什么区别吗?
  8. pythongetattribute_Python __getattribute__ vs __getattr__ 浅谈
  9. tdd(测试驱动开发)的概述
  10. Android Studio- 把SVN项目下载到 本地的 操作方法
  11. ioncube linux,lamp安装版,安装ionCube不成功
  12. 撰写美国作业使用APA与MLA格式的区别是什么?
  13. Vue3 router 默认加载 views 文件夹下全部vue文件
  14. PIPIOJ1166PIPI的棋盘
  15. 别人笑我忒疯癫,我笑别人看不穿;
  16. AI 隐身术,让你在视频中消失的“黑魔法”,想拥有吗?
  17. 传奇手游服务器搭建_传奇私服服务器端在云服务器架设,全版本通用的传奇游戏架设教程...
  18. Ubuntu20.4.4离线安装无线网卡驱动
  19. 单页应用和多页应用的区别
  20. buuctf web [GXYCTF2019]Ping Ping Ping(呜呜呜做个题都要被骂)

热门文章

  1. [汇编语言]实验一:查看CPU和内存,用机器指令和汇编指令编程。
  2. [PAT乙级]1047 编程团体赛
  3. dfs中return回溯问题
  4. 最短路(遍历边)计蒜客—DD坐地铁
  5. 团体程序设计天梯赛-练习集L1-025 正整数A+B (15分)(getline输入)
  6. A Greeting from Qinhuangdao Gym - 102769A 2020ccpc秦皇岛分站赛
  7. cookies默认过期时间_「图」Chrome Canary新版已启动“增强版cookies控制”预览测试...
  8. 经典排序算法(2)——快速排序算法详解
  9. Codeforces Round #712 (Div. 2) F. Flip the Cards 思维 + 贪心
  10. Educational Codeforces Round 80 (Rated for Div. 2) E. Messenger Simulator 思维 + 树状数组