计算机与信息学院实验报告 (15).docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《计算机与信息学院实验报告 (15).docx》由会员分享,可在线阅读,更多相关《计算机与信息学院实验报告 (15).docx(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、合肥工业大学计算机与信息学院实验报告课 程:汇编语言程序设计专业班级:计算机13-3学 号:2013211704 姓 名: 姜敬超RESULTY DB OAH,OBH:YES,,$RESULTN DB 0AH,0BH;NO7$fDATA ENDSDSEG SEGMENTSTRING DB asmDSEG ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DSEGSTART:MOV AX,DATAMOV DS,AXMOV AX,DSEGMOV ES,AXLEA DI,STRINGMOV BX,DI;保存DI的初始值以恢复LEA DX,TIPMOV AH,9INT
2、21HLEADX,BUF ;从键盘中读入一个字符串MOV AH,0AHINT21HLEA SLBUFMOVAL,SI+1;输入字符串的长度放在AHADD SI,2MOV DX,SI;保存si的初始值CLDAGAIN:MOV CX,3REPZ CMPSBCMP CX,0JZ FOUNDMOV DI,BXINC DXMOV SI,DXDEC ALJNZ AGAINLEADX,RESULTN ;没有找至U,输出NOJMP DONEFOUND:LEA DX,RESULTY ;找到输出 YESDONE:MOV AH,9INT21HMOV AH,4cHINT21HCODE ENDSEND START四.结
3、果(包括必要的截图)1.DOSBox 0.74, Cpu speed: 3000 cycles, Frameskip 0, Program: DEBUG X以im File EX1.EXE1:List File NUL.MAP:Libraries .LIB:LINK : earning L40Z1: no stack segmentkC:SOFTOAREMASMEX1.EXE:SOFTWAREMASMC:SOFTOAREMASMDEBUGtU|073F:0100 0?3F:0102 IO73F:01O5 073F:0108 |O73F:0109 O73F:O10D |073F:0111 073
4、F:O11Z O73F:0113 073F:0115 O73F:0119 O73F:011B O73F:011F-tU|073F:0100 0?3F:0102 IO73F:01O5 073F:0108 |O73F:0109 O73F:O10D |073F:0111 073F:O11Z O73F:0113 073F:0115 O73F:0119 O73F:011B O73F:011F-tU|073F:0100 0?3F:0102 IO73F:01O5 073F:0108 |O73F:0109 O73F:O10D |073F:0111 073F:O11Z O73F:0113 073F:0115 O
5、73F:0119 O73F:011B O73F:011F-7403 E93700B805O0 50 FF363CZ1 FFAEFE0OF0 46 7400 00BZO0BZ 1499 0OZE07ZE07H H K:FUSSfpcc:DCDPzmduumonzdddojjmppjlijaaap0105019CAX,0005AX Z13C FAR BP+0OFESI0115 BP*SI+BZ0O,DHAL, 99 ZE07,CHES2.Z:SET BLASTER=AZZ0 17 DI H5 T6Z:mount c d:/Drive C is mounted as local directory
6、d:/Z:c:C:cd softwareC:SOFTWAREcd masmC: S0FTUAREf1ASMexZ. exeThe result is4B 5A 44C : SOF1WREMASM3.C :cd softwareC:SOFTWAREcd masmb:SOFIWAREMASMexZ.exe The result is4B 5A 44 C:SOFIUAREMASMex 11 legal command: ex.C:S0FIMAREMASMex3.exe INPUT CHARS LESS THAN Z55: asmdefYES|C:、SOF1WREMASM_五.实验体会在实验中编写了完
7、整的汇编语言程序段进一步了解了汇编语言,但是感觉编写 汇编语言是逻辑总是混乱的,有时结果莫名其妙,不过也借此明白了许多汇编 中需要注意的问题,比如算数运算中要注意数据位扩展等。实验三汇编语言子程序设计(分支、子程序)一.实验目的1、掌握分支和子程序结构和设计方法;2、熟悉在PC机上建立、汇编、连接、调试和运行8086/8088汇编语言程序的过程。3、通过汇编语言了解高级语言的参数传递等知识。二.实验内容1、1.BL中的只有一位为1。编写程序测试,并输出提示信息“The X Bit is 1”, 要求:地址表和转移表。2 .编写一个子程序计算z=f(x,y)=x*y+x-y (x,y,z有符号数
8、内存数)。要求通过堆 栈(寄存器、内存)传送所有参数。3 .实践CAsm的转换过程。三.实验过程和程序(l)address:DATA SEGMENTNONE DB 旧VERY BIT IS 0;0AH,0DH;$fADDRTB DWL0,Ll,L2,L3,L4,L5,L6,L7SO DB THE 0 BIT IS l0AH,0DH;$!SI DB THE 1 BIT IS l;0AH,0DH却S2 DB THE 2 BIT IS,0AH,0DH,$S3 DB THE 3 BIT IS l,0AH,0DH,$S4 DB THE 4 BIT ISr,0AH,0DH,$S5 DB THE 5 BIT
9、 IS,0AH,0DH,$S6 DB THE 6 BIT IS l,0AH,0DH;$S7 DB THE 7 BIT IS,0AH,0DH,$DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV CH,8MOV SI,-2MOV BL,2AGAIN:DEC CH ;记录位移的总次数CMP CH,-1JZ NONE! ;BL全为0处理ADD SI,2 ;计算n号分支地址SHR BL,1JNC AGAINJMPADDRTBSILO:LEA DX,S0JMP DONELEA DX,S1JMP DONEL2:L
10、EA DX,S2JMP DONEL3:LEA DX,S3JMP DONEL4:LEA DX,S4JMPDONEL5:LEA DX,S5JMP DONEL6:LEA DX,S6JMP DONEL7:LEA DX,S7JMP DONENONEI:LEA DX,NONEDONE:MOV AH,9 ;输出结果INT21HMOV AH,4CHINT21HCODE ENDSEND START(2).JMPDATA SEGMENTSO DB THE 0 BIT IS l,0AH,0DH,$S I DB THE 1 BIT IS,0AH,0DH,$S2 DB THE 2 BIT IS l0AH,0DH;$!S
11、3 DB THE 3 BIT IS1,0AH,0DH,$S4 DB THE 4 BIT IS l,0AH,0DH,$S5 DB THE 5 BIT IS l0AH,0DH;$fS6 DB THE 6 BIT IS l,0AH,0DH,$S7 DB THE 7 BIT IS l0AH,0DH;$!NONE DB EVERY BIT IS 0;0AH,0DH;$,DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV CH,8MOV AX,-3MOV BL,4AGAIN:DEC CH ;记录位移总次数CMP
12、CH,-1 ;bl 是否全 0JZ NONEI ;BL 全。处理ADD AX,3 ;计算n号分支地址SHR BLJNC AGAINLEA SIJMPTBADD SI,AXJMPSIJMPTB:JMP NEAR PTR LOJMP NEAR PTR LIJMP NEAR PTR L2JMP NEAR PTR L3JMP NEAR PTR L4JMP NEAR PTR L5JMP NEAR PTR L6JMP NEAR PTR L7LO:LEA DX,S0JMPDONELI:LEA DX,S1JMP DONEL2:LEA DX,S2JMP DONEL3:LEA DX,S3JMP DONEL4:LE
13、A DX,S4JMP DONEL5:LEA DX,S5JMP DONEL6:LEA DX,S6JMP DONEL7:LEA DX,S7JMP DONENONEI:LEA DX,NONEDONE:MOV AH,9 ;输出结果INT21HMOV AH,4CHINT21HCODE ENDSEND START2.DATA SEGMENTORGOXDW 1234HY DW 5678HZDDODATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXSUB SP,4 ;为返回参数双字z留空间PUSH X ;堆栈传递参数xPUS
14、H Y ;堆栈传递参数yCALLFXYZLEA BX,ZPOP WORD PTRBXPOP WORD PTRBX+2MOV AH,4CHINT21HFXYZ PROC NEAR ;子程序PUSH BPMOV BP,SP ;当前栈顶指针传给bp, bp作为读写指针PUSH AX ;保护现场PUSH BXPUSH DXMOV AX,6BPMOV BX,4BP IMUL BXADD AX,6BPADC DX,0SUB AX,4BPSBB DX,0MOV 8BP,AXMOV 10BP,DXPOP DXPOPBXPOP AXPOP BPRET 4FXYZENDPCODE ENDSEND START四.实
15、验结果(包括必要的截图)蠲 DOSBox 0.74, Cpu speed: 3000 cycles. Frameskip 0, Program: DOSBOXXZ:SET BLASTER=AZZO I? DI H5 T6Z:mount c d:zDrive C is mounted as local directory d:/Z:c:C:cd softwareC:SOFTWAREcd masmC:SOFTWAREMASMexZ.exeThe result is4B 5A 44C:SOFTOAREXMASMex11 legal command: ex.C:S0FTWAREMASMex3.exeI
16、NPUT CHARS LESS THAN Z55:asmdefYESC:S0FTWAREMASMex31.exeTHE 1 BIT IS 1C:SOFTWAREMASMaDOSBox 0.74, Cpu speed: 3000 cycles, Frameskip 0, Program: DOSBOXc d:/Drive C is mounted as local directory d:/Z:c:C:cd softwareC:SOFTUAREcd masmC:SOFTWAREMASMexZ.exeThe result is4B 5A 44C:SOFTWAREMASMex11 legal com
17、mand: ex.C:S0FTWAREXMASMex3.exeINPUT CHARS LESS IBAN Z55:asmdefYESC:S0FTWAREMASMex31.exeTHE 1 BIT IS 1C:S0FTWAREMASMex3Z.exeTWE Z BIT IS 1C:SOFTWAREMASMaDOSBox 0.74, Cpu speed: 3000 cycles, Frameskip 0, Program: DEBUG XC:S0FTWAREMASMex3Z.exeTHE Z BIT IS 1C:S0FTWAREMASM3EXZ.exeC : S0FTWREMASMdebug-u实
18、验一 Debug程序的使用O?3F:0100 0000ADDBX+SI,AL073F:010Z 0000ADDBX*SU,AL073F:0104 0000ADDBX*SD,ALG73F:0106 0000ADDBX+SI,ALO73F:0108 0000ADDBX+SH,ALO73F:010A 0000ADDBX+SU,AL073F:01OC 0000ADDBX*SI,ALO73F:010E 0000ADDBX*SI,AL?3F:0110 0000ADDBX*SH,ALG73F:011Z 0000ADDBX*SI,AL073F:0114 0000ADDBX+SI,AL073F:0116 000
19、0ADDBX*SU,AL073F:0118 0000ADDBX*SH,ALO73F:011A 0000ADDBX+SI,ALG73F:011C 3400XORAL,00O73F:011E ZECS:G?3F:011F 07POPES一.实验目的1、熟悉DEBUG程序中的命令,学会在DEBUG下调试运行汇编语言源程序。2、掌握8086/8088的寻址方式及多字节数据的处理方法。二.实验内容1、利用DEBUG程序中的“E”命令,将两个多字节数“ 12345678H”和 “FEDCBA98H”分别送入起始地址为DS:0200H和DS:0204H两个单元中。2、分别用直接寻址方式和寄存器间接寻址方式编
20、写程序段,实现将DS:0200H 单元和DS:0204H单元中的数据相加,并将运算结果存放在DS9208H单元中。要求:本次实验的内容均在DEBUG下完成,实现数据的装入、修改、显示;汇编 语言程序段的编辑、汇编和反汇编;程序的运行和结果检查。附加题:1. 从DS:0000H开始的5个16位带符号数分别记为x,y,z,v,w,用E命令初始化为:540,1,-1,1080,0,试求 w=(v-(x*y+z-540)/x完成BX中1的个数的统计。三.实验过程和程序L实验指导书中2.代码已在图中附加2:将二进制数利用右移指令依次移进cf判断cf是否为1如此循环mov bx,1233xor ax,ax
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机与信息学院实验报告 15 计算机 信息 学院 实验 报告 15
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内