欢迎访问 生活随笔!

生活随笔

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

编程问答

汇编实验 分类统计字符个数(debug中查看统计结果)

发布时间:2025/6/17 编程问答 35 豆豆
生活随笔 收集整理的这篇文章主要介绍了 汇编实验 分类统计字符个数(debug中查看统计结果) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

2.3 分类统计字符个数
1.题目:分类统计字符个数

2.实验要求:

程序接收用户键入的一行字符(字符个数不超过80个,该字符串用回车符结束),并按字母,数字及其他字符分类计数,然后将结果存入以letter,digit和other为名的存储单元中。debug中查看结果。

; test5:classify and count the number of characters ;*************************************************************** dseg segment para 'data' letter dw 0digit dw 0other dw 0mess1 db 'Please input a string: ',13,10,'$' mess2 db 'Statistic completed',13,10,'$' strin label bytemax db 80act db ?str db 80 dup(?) ; dseg ends ;*************************************************************** cseg segment para 'code' ;----------------------------------------------------------------- main proc farassume cs:cseg,ds:dseg;set up stack for returnpush dssub ax,axpush ax ;mov ax,DSEGmov ds,ax start:mov letter,0mov digit,0mov other,0; ; ---------Input string:---------lea dx,mess1mov ah,09int 21hlea dx,strinmov ah,0ahint 21hcmp act,0je exitmov dl,13 ;crlfmov ah,02int 21hmov dl,10mov ah,02int 21h;;----------classify--------------mov al,actcbwmov cx,axmov bx,0;compare_and_classify:mov ah,str[bx]cmp ah,30hjl is_othercmp ah,39hjle is_a_digitcmp ah,41hjl is_othercmp ah,5ahjle is_a_lettercmp ah,61hjl is_othercmp ah,7ahjle is_a_letterjmp is_otheris_a_digit:inc digitjmp short change_addr is_a_letter:inc letterjmp short change_addr is_other:inc otherjmp short change_addrchange_addr:inc bxloop compare_and_classifylea dx,mess2mov ah,09int 21hret exit:ret main endp ;----------------------------------------------------------- cseg ends ;***********************************************************end main

运行,先u,查看完整的汇编指令,然后先设置断点到达38处,使用g38,输入字符串后,然后再用g87,跳到循环统计完成之后的指令处,使用d0命令,发现,DS中最开始的三个字的内容已经得到了统计结果。

总结

以上是生活随笔为你收集整理的汇编实验 分类统计字符个数(debug中查看统计结果)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。