正文

汇编子程序设计2006-11-16 21:39:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/hammers/20391.html

分享到:

要求: 已知某密码由英文字母A、B、C……Z组成且以ASCII码形式存放在以CIPHER为首地址的存储区中,试统计各字母在此密码中出现的次数并依次存入以CHAR为首地址的26个字节中,最后将字母出现的次数以十六进制形式显示出来(设出现的次数≤255),显示格式为: A XXH B XXH Z XXH 要求: 将“8位二进制数转换成十六进制数并显示出来”的功能用子程序完成。 program:  jidseg     segmentchipher  db 'AASDFGHJKLMNBVCXZQWERTYUIOPJSDLFSDLFSDJFOFWOOEWJWTRETJGFVNLFLFJLWUIEWWFSFSFKF'len      = $-chipherchar      db  26 dup(0)dseg      endscseg     segment         assume   cs:cseg ,ds:dsegstart:          mov ax,dseg   mov ds,ax          mov si,0next:   mov  bl,chipher[si]          mov  bh,0   inc si   cmp si,len   ja  count   sub bl,'A'   add char[bx],1   jmp  next count:          mov si,0count1:   mov  bl,char[si]          mov  bh,0    inc  si   cmp  si,25   ja    done   mov   dx,si   add   dx,40h   mov   ah,2   int   21h   mov   dl,':'   mov   ah,2   int   21h   call  deal   jmp    count1 done:     mov ah,4ch          int 21h deal      proc          push  ax   push  bx   push  cx   push  dx   mov dx,0   mov di,2          mov cl,4 sign:    shl bx,cl          cmp di,0          je exit          dec di          cmp bh,9          ja  word          add bh,30h          mov dl,bh          mov bh,0          mov ah,2          int 21h          jmp sign word:          mov dl,bh          add dl,37h          mov bh,0          mov ah,2          int 21h          jmp sign exit:              mov dl,'h'          mov ah,2          int 21h          mov dl,' '          mov ah,2          int 21h          pop   dx   pop   cx   pop   bx   pop   ax           ret       deal      endpcseg      ends          end  start

阅读(2397) | 评论(2)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册