版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、循环结构程序设计(汇编语言)汇编语言实验报告实验名称:循环结构程序设计姓 名:学 号:班 级:一.实验内容1. 用多种循环方法实现1+2+3+.+20的程序(至少二种方法);2. 编写_个程序,判别键盘上输入的字符;若是芬9字符,则显示之;若为A-Z 或a-z字符,均显示c” ;若是回车字符vCR (其ASCII码为ODH),则结束 程序,若为其它宇符则不显示,继续等待新的宇符输入;(选做)3、编写一个汇编语言程序,要求将BX寄存器内的月字母用大写宇母显示 岀来。4、ADDR单元是存放数据的内存单元,要求将该内存单元中的字依次用十六进 制数显示岀来。二实验目的1. 掌握循环程序的结构。2. 掌
2、握循环程序的设计,编写及调试方法。3. 掌握循环程序设计的基本方法。主要掌握几种基本的循环程序设计技巧,如 计数法程序设计、当循环、直到循环等程序设计技术。三、实验结果1. 将内存中的数据块中(buff为起始地址)奇数和偶数分别存入以ADDR1 和ADDR2开始的存储块中,并分别统计其中的奇、偶数,将统计结果存放在 RESULT开始的两个宇存储单元中。实验代码:(l.ASM l.OBJ 1.EXE)data segmentbuff dw 6,35,99)7,80,69,50,33addrl dw 8 dup(?)addr2 dw 8 dup(?)result dw OfOdata endsco
3、de segmentassume cs:codefds:data start:mov axfdatamov ds,axmov cx,8dmov sifOmov di,0mov bxfOmov dx,0L1:test buffsi,OOO1 hje L2mov ax,buffsimov addr2bx,axadd si,2add bx,2inc dldec exjmp LIL2:mov axfbuffsi mov addrldi,ax add di2add si,2inc dhdec exjmp LImov si,0mov byte ptr result si, dhadd si,2mov by
4、te ptr result si, dl code endsend start运行结果如下:hX=0006BX=000ACX=FFFFDX=0405SP=0000BP=0000SI=0012DI=0008B)S=142?ES=1417SS=1427CS=142BIP=0040NU UP ElNGNZAC PE NC142B:0040 EBD2-tJMP0014AX=0006BX=000ACX=FFFFDX=0405SP=0000BP=0000SI=0012DI=0008DS=1427ES=1417SS=1427CS=142BIP=014NU UP ElNGNZAC PE NC142B:0014
5、 F78400000100 TESTWORD PTR LSI+00001,0001tDS =0012=0050ftX=0006BX=000ftCX=FFFFDX=0405SP=0000BP=0000SI=8012DI=0008DS=1427ES=141?SS=142?CS=142BIP=001ANU UP ElPLZRNA PE NCU.42B:001A 7413JZ002F2. 不利用乘法指令实现乘法的程序代码如下:(2.ASM 2.OBJ 2.EXE)data segmentx dw 30d y dw lOddata ends code segment assume cs:code,ds:
6、data start:push ds sub ax, ax push ax mov ax, data mov ds, ax mov cxfx mov bxfy mov ax,0Ll:add axfbx loop LI mov dx,ax mov ah,2 int 21hcode endsMOV BX,XMOV CX,YMOV AX,0LI:INCBXADD AXrBXLOOPUMOV DXfAXMOV AH, 2INT 21HCODE ENDSEND START运行结果如下:(结果存于DX寄存器中)BX=0014CX =0000DX=0000SP=FFFCBP=0000SI=0000DI=00
7、00DS=0B9BES=0B8BSS=0B9BCS=0B9CIP=0019NU UP ElPL NZ ACPE NG0B9C:0019t 51 8BD0MOIDX,AXfiX=09D2BX=0014CX=0080DX=00D2SP=FFFCBP=0008SI=0000DI=0000DS=0B9BES=0B8BSS=0B9BCS=0B9CIP=001BNU UP ElPL NZ ACPE NG|0B9C:001B B402MOUAH,02|fiX=02D2BX=0014CX=0000DX=00D2SP=FFFCBP=000081=0000DI=0000|DS=0B9BES=0B8BSS=0B9B
8、CS=0B9CIP=001DNU UP ElPL NZ ACPE NC|0B9C:081D CD21INT21|AX=02D2BX=0014CX=0000DX=00D2SP=FFF6BP=0000SI=0000DI=0000|DS=0B9BES=0B8BSS=0B9BCS=00A7IP=10?CNU UP DIPL NZ ACPE NG|00A7:10?C 90NOP实验代码 2 如下:(32.ASM 32.OBJ 32.EXE)DATA SEGMENTY DW 20DDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA START:PUSH DSSUBAX.
9、AXPUSH AXMOV AX, DATAMOV DSfAXMOV CX,YMOV AX,0MOV BX,0LI:INCBXADD AXrBXCMP BX.2OJNZ LIMOV DX,AXMOV AH, 2INT 21HCODE ENDSEND START运行结果2如下:(实验结果存于DX寄存器中)AX=00D2BX=0014CX=0014DX=0000SP=FFFCBP=0000SI=0000DI=0000DS=0B9BES=0B8BSS=0B9BCS=0B9CIP=0016NU UP ElPL NZ ACPE NC0B9C:001G -t83FB14CMPBX.+14AX =001)2B
10、X=0014CX=0014DX=0000SP=FFFCBP=0000SI=0000DI=0000OS=0B9BES=0B8BSS=0B9BCS=0B9CIP=0019NU UP ElPL ZR NAPE NC0B9C:0019 -t75 F8JNZ0013AX =001)2BX=0014CX=0014DX=0000SP=FPFCBP=0000SI=0000DI=0000DS =0B9BES=0B8BSS=0B9BCS=0B9CIP=001BNU UP ElPL ZR NAPE NC0B9C:001B 8BD0 -tMOVfiX =001)2BX=0014CX=0014DX=00D2SP=FFF
11、CBP=0000SI=0000DI=0000DS=9B9BES=0B8BSS=0B9BCS=0B9CIP=001DNU UP ElPL ZR NAPE NC0B9C:001D B402 -tMOUAH.02AX=02D2BX=0014CX=0014DX=00D2SP=FFFCBP=0000SI=0000DI=0000DS =0B9BES=0B8BSS=0B9BCS=0B9CIP=001FNU UP ElPL ZR NAPE NC|0B9C:001F CD21INT214、编写一个程序,判别键盘上输入的宇符;若是1-9字符,则显示之;若为 A-Z或a z字符,均显示c;若是回车字符vCR (其A
12、SCII码为ODH),则 结束程序,若为其它宇符则不显示,继续等待新的字符输入实验代码如下:(4.ASM 4.0BJ 4.EXE)code segmentassume cs:code start:mov ahrl int 21h cmp alfOdh je exit cmp al/O* jb start cmp al/91 jbe outputl cmp al, Ajb sErrt cmp aLz jbe output cmp aL.a jb star cmp aL.N jbe olrtpuf oufputk Ho2=a_3O ahM int 21hjmp stalloufpuftmov ah
13、b2h3Os=c5-f 2 jmp sErvl ex*3Oc:nasm5.exe BAC:DOCUnElYUEAO6、UDDR单元是存放数据的内存单元,要求将该内存单元中的宇依次用十六进 制数显示出来。实验代码如下:(6.ASM 6.OBJ 6.EXE)测试数据为1EH.3DH34H98HDATA SEGMENTADDR DB 1EH,3DH,34H,98HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX, DATAMOV DS,AXMOV SLOMOV DIOFFSET ADDRSTEP:MOV AL DIADD DllMOV B
14、UALMOV DL.ALMOV CL4SHRDLCLCMPDL.9JBE NEXT1ADD DU7 NEXT1: ADD DU30HMOV AH, 2INT 21H MOVDLBLAND DL.OFHCMPDL9JBE NEXT2ADD DL7 NEXT2: ADD DU30HMOV AH, 2INT 21HINC SICMP SL4 JNZSTEPMOV AH4CHINT 21HCODE ENDSEND START;显示高位ASCII码;显示低位ASCII码;返回DOS运行结果如下:C:DOCUMEl?UEAOc:nasn6.exe 1E3D3498C:DOCUME1?UEAO_实验心得体会本次实验主要是循环结构的程序。通过本次实验,学习汇编语言中循环结构 类型的程序的编辑、编译与连接,更好的掌握分支程序的结构。通过本次实验,我对循环结构有了一定的理解,尤其是LOOP循环指令, 对于cmp指令和JZN、JZ等指令也有了一定的了解实验过
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业管理-餐饮企业安全生产管理制度
- 浙江省嘉兴市秀洲区2025-2026学年初三下学期第三次月考物理试题试卷含解析
- 黄冈市重点中学2025-2026学年初三下学期第二次阶段考试数学试题含解析
- 山东省安丘市、高密市、寿光市重点达标名校2026年初三一轮第三次阶段过关物理试题试卷含解析
- 浙江省杭州滨江区六校联考2026届初三5月第一次调研考试物理试题含解析
- 南开中学初重点达标名校2026年初三二诊数学试题试卷含解析
- 宁夏吴忠市红寺堡区回民中学2026届初三下学期第三次月考数学试题理试题含解析
- 浙江省宁波市南三县重点达标名校2026届初三下学期5月月考化学试题(A卷)含解析
- 上海市浦东新区第四教育署重点名校2026届学业水平测试物理试题含解析
- 脑梗死患者的护理研究进展与创新
- SJG 46 – 2023《建设工程安全文明施工标准》
- 船舶危险源 甲板风险源清单
- 人工智能在绩效评价中的应用-全面剖析
- 部编版小学语文六年级下册必读书阅读训练试题及答案(全册)
- 《机电设备维修与维护(第2版)》高职全套教学课件
- 化工企业职业健康培训课件
- 初中数学新课程标准(2024年版)
- 中药灌肠疗法课件
- 市政绿化养护及市政设施养护服务方案(技术方案)
- 班级多媒体管理员工作职责
- 克服压力(认知行为自助手册)
评论
0/150
提交评论