您好,欢迎来到独旅网。
搜索
您的当前位置:首页汇编实验三:分类统计字符个数

汇编实验三:分类统计字符个数

来源:独旅网


一、实验目的

学习用汇编语言编写设计分支循环程序 二、实验要求

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

三、实验提示

(1)程序可0AH功能调用把键入字符直接送到缓冲区中,然后再逐个取出分类计数。也可01H功能调用在接收字符后先分类计数再存入缓冲区中。

(2)程序需要进入debug运行并查看计数结果。 四、实验程序 datarea segment stringdb 80 db ?

db 80 dup(?);定义字符串string,长度为80 letterdb 0;定义存储单元letter digitdb 0;定义存储单元digit otherdb 0;定义存储单元other datarea ends case segment mainprocfar assume cs:

1 / 6

case, ds: datarea start:

movax, datarea movds, ax leadx, string movah, 0ah int21h

leadi, string + 2;输入一行字符,依次将每个字符存入字符串string中subch,ch

movcl, string + 1 adddx, 2 check:

;将每个字符进行分类 moval, [di] cmpal, 0dh

jeexit;字符串以回车符结束,若进行分类的字符是回车符,则跳转至exit,退出程序

cmpal, 30h;与ASCII码中的0,即30h比较

jbo;小于30h的,为其他类型字符,则跳转至o,在other块进行操作cmpal, 39h;与ASCII码中的9,即39h比较

jnad;不大于39h的,结合不小于30h的,则跳转至d,在digit块进行操作jaloro;剩下的为字母或者其他类型

2 / 6

loro:

cmpal, 41h;与ASCII码中的A,即41h比较

jbo;小于41h的,结合大于39h的,则跳转至o,在other块进行操作cmpal, 7ah;与ASCII码中的z,即7ah比较

jao;大于7ah的,则条钻至o,在other块进行操作 cmpal, 5ah;与ASCII码中的Z,即5ah比较

jnal;不大于5ah的,结合大于41h的,则跳转至l,在letter块进行操作cmpal, 61h;与ASCII码中的a,即61h比较

jnbl;不小于61h的,结合不大于7ah的,则跳转至l,在letter块进行操作jbo;小于61h的,结合大于5ah的,则跳转至o,在other块进行操作l:

incletter;属于letter类型,则letter增1 incdi

jmpcheck;返回继续比较下一个字符 d:

incdigit;属于digit类型,则digit增1 incdi jmpcheck o:

incother;属于other类型,则other增1 incdi jmpcheck exit:

3 / 6

;输出letter,digit,other类型的计数结果 movah, 02 movdl, 0dh int21h movdl, 0ah int21h movdl, 4ch int21h movdl, 3ah int21h movdl, 0 int21h xorax, ax moval, letter

calldisplay;调用子程序display,输出movah, 02 movdl, 0dh int21h movdl, 0ah int21h movdl, 44h

4 / 6

int21h movdl, 3ah int21h movdl, 0 int21h xorax, ax moval, digit calldisplay movah, 02 movdl, 0dh int21h movdl, 0ah int21h movdl, 4fh int21h movdl, 3ah int21h movdl, 0 int21h xorax, ax moval, other

5 / 6

calldisplay movax, 4c00h int21h main endp movbl, 10 divbl pushax movdl, al adddl, 30h movah, 2 int21h popax movdl, ah case ends end startadddl, 30h movah, 2 int21h ret display endp 五、调试结果

6 / 6

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- dcrkj.com 版权所有 赣ICP备2024042791号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务