




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中南大学汇编实验报告学 院: 信息科学与工程学院 班 级: 计科工试1501班 学 号: 0902150323 姓 名: 张雨欣 指导老师: 雷向东 完成时间: 2017.06.09 目 录实验一、判断素数3 实验二、判断单词个数9实验三、数组元素排序13 心得体会21实验一、判断素数一、 实验内容根据从键盘输入的数字判断其是否是素数,并在屏幕上打出判断结果。二、 算法分析调用子程序判断素数思路:只能被1和它本身整除的数叫做素数,假设输入数X(十进制)1.先将我们输入的字符转换为10进制对应的数存入BX2.判断是否小于2:如果这个数是2或1,则一定是素数3.从2开始除到X-1,判断每一次的余数是否为04.若有一次的余数为0,则不是素数5.若余数都不为0,循环次数为X-2,则是素数 三、源代码data segment va1 db The data is a prime number!$ va2 db -1$ data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax call decibin ;段内调用子程序 call crlf call judge call crlf mov ah,4ch int 21h decibin proc near ;子程序从键盘接收十进制 mov bx,0 newchar: mov ah,1 int 21h sub al,30h ;转为十进制 jl exit ;小于0退出 cmp al,9 jg exit ;大于9退出 cbw xchg ax,bx ;将ax和bx中的内容互换 mov cx,10 mul cx xchg ax,bx add bx,ax jmp newchar exit: ret decibin endp judge proc near ;判断程序 mov cx,bx sub cx,2 cmp bx,2 jle print1 mov dl,1 jud: mov ax,bx inc dl div dl cmp ah,0 jz print2 loop jud jmp print1 print1: mov ah,09h lea dx,va1 int 21h ret print2: mov ah,09h lea dx,va2 int 21h ret judge endp crlf proc near mov dl,0dh mov ah,2h int 21h mov dl,0ah mov ah,02h int 21h ret ;返回crlf endp code ends end start 三、 结果演示实验二、判断单词个数一、 实验内容给定句子,编写程序判断句子中单词的个数。二、 算法分析设置bl标志位,当bl为1时表示当前元素是字母。设置循环判断每一位的元素是否在二十六个字母的大小写范围内。利用si确定到每一位元素,设置多个跳转条件。每判断一次就让si加一。三、 源代码.model small .data string db hello, the world! endstring db ? .code main proc far mov ax,data mov ds,ax mov cx,(offset endstring-offset string) mov dl,0 mov bl,0;标志位为1是字母 mov si, offset string again: cmp bl,0 jnz l1;zf 不为1跳转 mov al,si cmp al,A jb l4 cmp al,Z ja l3 mov bl,1 inc dl jmp l4 l3: cmp al,a jb l4 cmp al,z ja l4 mov bl,1 inc dl jmp l4 l1: mov al,si cmp al,A jae l5 mov bl,0 jmp l4 l5: cmp al,Z jbe l4 cmp al,a jae l7 mov bl,0 jmp l4 l7: cmp al,z jbe l4 mov bl,0 l4: inc si loop again add dl,30h mov ah,2h int 21h mov ax,4c00h int 21h main endp end四、 运行测试实验三、数组元素排序一、 实验内容实现从键盘输入两个数字并存入数组中,对数组中元素进行排序并打印在屏幕上。二、算法分析 对于从键盘输入的每个数字都将其存进数组的一个内存单元中,并将数组第一个元素的有效地址置入DI,之后采用冒泡排序算法对数组元素进行排序。二、 源代码 CODE SEGMENT ASSUME CS:CODE ORG 100H START: PUSH CS POP DS PUSH CS POP ES CALL INPUTNUM MOV AX,NUM MOV N,AX CALL BUBBLESORT MOV AH,2 MOV DL,10 INT 21H MOV DL,13 INT 21H MOV CX,N LEA SI,ARRAY M1: MOV AX,SI CALL DISPAX INC SI INC SI LOOP M1 MOV AH,4CH INT 21H N DW ?;= BUBBLESORT PROC NEAR LEA BX,ARRAY LEA SI,NUM MOV AX,SI SUB AX,BX ROR AX,1 MOV WORD PTRNUM,AX DEC WORD PTRNUM MOV WORD PTRI,0 ; 以下采用冒泡排序 LEA DI,ARRAY LINE1: INC WORD PTRI MOV AX,WORD PTRI CMP AX,WORD PTRNUM JG LINE3 MOV WORD PTRJ,0 LINE2: INC WORD PTRJ MOV AX,WORD PTRNUM INC AX SUB AX,WORD PTRI CMP WORD PTRJ,AX JG LINE1 MOV BX,WORD PTRJ ROR BX,1 MOV AX,WORD PTRDIBX-2 CMP AX,WORD PTRDIBX JAE LINE2 MOV CX,WORD PTRDIBX MOV WORD PTRDIBX,AX MOV WORD PTRDIBX-2,CX JMP LINE2 LINE3: RET I DW ? J DW ? BUBBLESORT ENDP ;=; 键盘输入数值数组子程序(数组名为array,元素个数存放在num中) INPUTNUM PROC NEAR ; 输入的数据以一个空格分隔,以回车符结束输入 LEA DI,ARRAY ;将数组第一个元素的有效地址置入DI MOV WORD PTRNUM,0 STIN: MOV AX,0 PUSH AX AGAIN1: MOV AH,1 INT 21H MOV BYTE PTRCHAR,AL CMP AL,13 JE LINE0 CMP AL, JE LINE0 SUB AL,30H MOV AH,0 MOV SI,AX POP AX MOV CL,10 MOV CH,0 MUL CX ADD AX,SI PUSH AX JMP AGAIN1 LINE0: POP AX MOV WORD PTRDI,AX INC WORD PTRNUM CMP BYTE PTRCHAR,13 JE STINEND INC DI INC DI JMP STIN STINEND: RET ARRAY DW 100 DUP(0) NUM DW 0 CHAR DB ? INPUTNUM ENDP ;= DISPAX PROC NEAR PUSH BX PUSH CX PUSH DX PUSH SI PUSH DS PUSH CS POP DS PUSH AX MOV AH,2 MOV DL,32 INT 21H POP AX MOV BYTE PTR NZ,0 PUSH AX LEA SI,DIVARR MOV CX,5 1: POP AX MOV DX,0 MOV BX,SI DIV BX PUSH DX CMP AL,0 JNE 2 CMP BYTE PTR NZ,1 JE 2 CMP CX,1 JE 2 MOV DL,20H JMP 3 2: ADD AL,30H MOV DL,AL MOV BYTE PTR NZ,1 3: MOV AH,2 INT 21H INC SI INC SI LOOP 1 POP DX POP DS POP SI POP DX POP CX POP BX RET DIVARR DW 10000,1000,100,10,1 NZ DB 0 DISPAX ENDP;= CODE ENDS END START三、 运行测试 心得体会 本学期我们学习了汇编语言,它是一种不同于我们之前学习的高级语言,汇编语言是一种计算机底层的语言,它是能够直接控制硬件的唯一语言。在学习过汇编语言之后,我感觉它不像C语言那般简单易懂,因为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浙江师范大学行知学院《近现代西方政治思想史》2024-2025学年第一学期期末试卷
- 安庆医药高等专科学校《通风工程》2024-2025学年第一学期期末试卷
- 苏州科技大学《数字逻辑与设计》2024-2025学年第一学期期末试卷
- 安徽工商职业学院《植物营养分子生物学基础》2024-2025学年第一学期期末试卷
- 江西交通职业技术学院《城市环境生态学》2024-2025学年第一学期期末试卷
- 黑龙江工程学院《小学数学教学技能导练》2024-2025学年第一学期期末试卷
- 郑州理工职业学院《BIM技术导论》2024-2025学年第一学期期末试卷
- 重庆医药高等专科学校《数据科学与工程》2024-2025学年第一学期期末试卷
- 四川邮电职业技术学院《中小学体育与健康课程标准与教材研究》2024-2025学年第一学期期末试卷
- 广东茂名农林科技职业学院《环保仪表与自动化》2024-2025学年第一学期期末试卷
- SYT 7328-2021 驱油用石油磺酸盐-PDF解密
- 幼儿园拍摄技巧培训
- 终身教育、终身学习与学习型社会的全球发展回溯与未来思考
- 河北专业红娘培训课件
- 《北京传统美食》课件
- 0~36个月儿童中医药健康管理服务技术规范
- 《动物解剖学》课件
- 铁道概论(第八版)佟立本主编
- 卫生院家庭医生签约服务考核表
- 智慧零碳园区解决方案
- 重症患者的容量管理
评论
0/150
提交评论