日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2023/12/3 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 汇编语言(二十七)之身份证最后一位求和校验 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

輸入身份證前十七位數字,輸入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

?

總結

以上是生活随笔為你收集整理的汇编语言(二十七)之身份证最后一位求和校验的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。