




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、汇编语言程序设计第二次上机2-1实验报告院系:计算机科学与技术 专业:信息安全 班级:0903班 姓名: 学号:时间:2011-6-6地点:南一楼808一、实验目的3二、题目与实验要求3三、寄存器分配和变量定义说明:3四、流程图5五、源程序及注释7六、实验步骤13七、实验记录13八、体会16一、实验目的1、加深对一些常用的汇编指令的理解;2、加深对常用DOS功能调用指令的理解; 3、进一步熟悉TD的使用。二、题目与实验要求1、80X86汇编语言程序设计教材中 P95的 3.7 题。要求:(1)将该题改成一完整的程序(可以省略实验报告中的程序框图)。 (2)请事先指出依次执行每条程序指令后(AX
2、)的内容。 (3)请事先指出执行ADD、SUB、SAL、RCL指令后,CF、ZF的值。 (4)记录上机执行后与(2)、(3) 中对应的内容。 2、80X86汇编语言程序设计教材中 P94的 3.3 题。要求:(1)将该题改成一完整的程序,其中数据段的定义为习题3.1中的数据段(可以省略实验报告中的程序框图)。 (2)请事先画出数据段中数据的存储形式。(3)请事先指出依次执行每条程序指令后相应寄存器中的内容。(4)请事先给出各调指令在汇编后的形式。 (5)比较上机执行后,看到的各项内容是否与(2)、(3) ,(4)内容一致。不一致的应分析错误原因。3、80X86汇编语言程序设计教材中 P96的
3、3.11 题。要求:(1)请事先指出程序运行结束后,显示器显示的内容。 (2)若将NUM的定义改成如下形式:NUM DB 35显示的结果是什么?(3)若将NUM的定义改成如下形式:NUM DB 59 显示的结果是什么? (4)指出程序运行后看到的结果,若不一致,分析产生错误的原因。4. 从键盘输入两串字符分别存入BUF1和BUF2区,比较两串内容是否相等,相等显示“MATCH !”, 不相等显示“NO MATCH !”。要求:(1) 使用10号功能调用输入字符串; (2) 使用 9号功能调用输出提示信息;提示:先比较长度是否相等。 5 选做题 输入一个无符号的数字串,然后以16进制形式显示出串
4、的值。 例如: INPUT A NUMBER : 59¿ RESULT : 3BH 其中下划线上的内容(59)为程序运行时输入的串。三、寄存器分配和变量定义说明:题目31. 存储单元分配:NUM为一个定义在数据段中的字节变量,存储一个二进制数 BUF为一个定义在数据段中的字节变量,存储回车换行与提示信息 BUF0为一个定义在数据段中的字节变量,存储一个十六进制数2 寄存器分配:DI存储BUF0中某个字节的地址,用于寄存器间接寻址AL存储NUM中二进制数高四位与低四位对应的数字的ASCII码题目41. 存储单元分配:BUF1、BUF2为两个定义在数据段中的字节变量,存储输入的字符串信息
5、 BUF3为一个定义在数据段中的字节变量,回车换行 BUF4、BUF5为两个定义在数据段中的字节变量,存储提示信息2. 寄存器分配:BX作为变址寻址寄存器使用题目5(选做题)1. 存储单元分配:STR1、STR2为两个定义在数据段中的字节变量,存储提示信息 BUF1为一个定义在数据段中的字节变量,存储输入的字符串信息 BUF2为一个定义在数据段中的字节变量,回车换行2. 寄存器分配: AX存储输入的字符串对应的数字 CX用作计数器,控制循环次数 DI用作变址寻址的变址寄存器四、流程图题目4开始比较两字符串长度是否相等相等不想等结束输入两个字符串NNYY比较两字符串是否相等题目5(选做题)开始字
6、符串转化为对应的整数整数转化为对应的十六进制数的字符结束输入数字字符串输出转化后的十六进制数的字符五、源程序及注释题目1.386DATASEGMENTUSE16BUFDB?DATAENDSSTACKSEGMENTUSE16STACKDB200 DUP(0)STACK ENDSCODESEGMENTUSE16ASSUMEDS:DATA,SS:STACK,CS:CODESTART:MOVAX,DATAMOVDS,AXMOVAX,0DECAXADDAX,07FFFHADDAX,2NOTAXSUBAX,0FFFFHADDAX,8000HORAX,0BFDFHANDAX,0EBEDHXCHGAH,ALS
7、ALAX,1RCLAX,1MOVAH,4CHINT21HCODEENDSENDSTART题目2.386DATASEGMENTUSE16STR1DB0,1,2,3,4,5STR2DB'012345'COUNTEQU30NUMBDB3 DUP(2)NUMWDW10H,-60HPOINDW0DATAENDSSTACKSEGMENTUSE16STACKDB200 DUP(0)STACK ENDSCODESEGMENTUSE16ASSUMEDS:DATA,SS:STACK,CS:CODESTART:MOVAX,DATAMOVDS,AXMOVBX,OFFSET STR1+3MOVSI,OF
8、FSET STR2MOVCL,COUNTMOVDX,WORD PTR NUMBMOVBP,NUMW+2MOVAL,3SIMOVAH,SI+BX+1MOVCH,BYTE PTR NUMW+3MOVSXEAX,AXMOVAH,4CHINT21HCODEENDSENDSTART题目3.386A1SEGMENTUSE16NUMDB00111001BBUFDB0AH,0DH,'(NUM)='BUF0DB4 DUP(?)A1 ENDSB1SEGMENTUSE16STACKDB200 DUP(0)B1ENDSC1SEGMENTUSE16ASSUMEDS:A1,SS:B1,CS:C1BEGIN
9、:MOVAX,A1MOVDS,AXLEADI,BUF0MOVAL,NUMSHRAL,4ORAL,30HMOVDI,ALINCDIMOVAL,NUMANDAL,0FHORAL,30HMOVDI,ALINCDIMOVBYTE PTR DI,'H'INCDIMOVBYTE PTR DI,'$'LEADX,BUFMOVAH,9INT21HMOVAH,4CHINT21HC1ENDSENDBEGIN题目4.386DATA SEGMENT USE16BUF1 DB 60 DB ?DB 60 DUP(?)BUF2 DB 60DB ?DB 60 DUP(?)BUF3 DB 0DH
10、,0AH,'$'BUF4DB 'MATCH !$'BUF5DB 'NO MATCH !$'DATA ENDSSTACK SEGMENTUSE16 STACKDB 200 DUP(0)STACKENDSCODESEGMENTUSE16ASSUMEDS:DATA, CS:CODE, SS:STACKSTART:MOVAX,DATAMOV DS,AXLEA DX, BUF1MOV AH, 10INT 21HLEADX,BUF3MOVAH,9INT21HLEA DX, BUF2MOV AH, 10INT 21HLEADX,BUF3MOVAH,9INT21
11、HXORBH,BHMOVBL,BUF11 ;BUF1中的字符串长度存入BLMOVCL,BUF21 ;BUF2中的字符串长度存入CLCMPBL,CL ;比较两字符串长度JNENOINCBLLOOP1:MOVCL,BUF1BXCMPCL,BUF2BX ;比较相同位置的字符是否相同JNENODECBLCMPBL,1 ;判断字符串是否比较完毕JNELOOP1LEA DX,BUF4MOVAH,9INT21HJMPEXITNO:LEA DX,BUF5MOVAH,9INT21HEXIT:MOVAH,4CHINT21HCODEENDSENDSTART题目5(选做题).386DATASEGMENTUSE16ST
12、R1DB'INPUT A NUMBER: $'STR2DB'RESULT: $'BUF1DB 60DB?DB60 DUP(0)BUF2DB0DH,0AH,'$'DATAENDSSTACKSEGMENTUSE16STACKDB200 DUP(0)STACKENDSCODESEGMENTUSE16ASSUMECS:CODE,SS:STACK,DS:DATASTART:MOVAX,DATAMOVDS,AXLEADX,STR1MOVAH,9INT21HLEADX,BUF1MOVAH,10INT21HLEADX,BUF2MOVAH,9INT21HLEADX
13、,STR2MOVAH,9INT21HXORAX,AXXORCH,CHXORDX,DXMOVCL,BUF11 ;数字字符串长度存入CLMOVBX,10MOVDI,2LOOP1:MULBX ;开始将字符串转化为十进制数存入AXMOVDL,BUF1DISUBDX,30HADDAX,DXXORDX,DXINCDILOOPLOOP1MOVBX,16LOOP2:INCCXDIVBXCMPDX,10 ;判断是否小于10JLJMP1ADDDX,7JMP1:ADDDX,30H ;转化为对应的十六进制数PUSHDXXORDX,DXCMPAX,0JNELOOP2LOOP3:POPDXMOVAH,2INT21H ;从
14、高位至低位依次输出十六进制数LOOPLOOP3MOVDL,'H'MOVAH,2 ;输出字母HINT21HMOVAH,4CHINT21HCODEENDSENDSTART六、实验步骤1.存盘文件名依次为1-1.ASM、1-2.ASM、1-3.ASM、1-4.ASM、1-5.ASM。2. 使用MASM5.0汇编源文件。3. 观察提示信息,若出错,则用编辑程序修改错误,存盘后重新汇编,直至不再报错为止。4. 使用连接程序LINK.EXE将汇编生成的OBJ文件连接成执行文件。5. 若连接时报错,则依照错误信息修改源程序。之后重新汇编和连接,直至不再报错并生成EXE文件。6. 执行该程序,
15、观察执行现象。七、实验记录题目1事先指出依次执行每条程序指令后(AX)的内容:0000H,0FFFFH,7FFEH,8000H,7FFFH,8000H,0000H,0BFDFH,0ABCDH,0CDABH,9B56H,36ADH事先指出执行ADD、SUB、SAL、RCL指令后,CF、ZF的值:CF:1,0,1,1ZF:0,0,0,1测试结果:依次执行每条程序指令后(AX)的内容:0000H,0FFFFH,7FFEH,8000H,7FFFH,8000H,0000H,0BFDFH,0ABCDH,0CDABH,9B56H,36ADH执行ADD、SUB、SAL、RCL指令后,CF、ZF的值依次为:CF
16、:1,0,1,1ZF:0,0,0,1题目2数据段中数据的存储形式:01H02H03H04H05H31H32H33H34H35H02H02H02H00H30H10H00HA0HFFH00H00HSTR1STR2NUMBNUMWPOIN依次执行每条程序指令后相应寄存器中的内容:AX:3433,BX:0003,CX:FF1E,DX:0202,SI:0006,DI:0000,BP:FFA0,SP:00C8,EAX:00003433给出各调指令在汇编后的形式:MOVBX,0003MOVSI,0006MOVCL,1EMOVDX,000CMOVBP,0011MOVAL, SI+3MOVAH,SI+BX+1MOVCH,0012MOVSXEAX,AX测试结果:数据段中数据的存储:依次执行每条程序指令后相应寄存器中的内容:各调指令在汇编后的形式:题目3事先指出程序运行结束后,显示器显示的内容:(NUM)=39H若将NUM的定义改成如下形式:NUM DB 35显示的结果是:(NUM)=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年国际美术设计师考试基础内容及答案
- 篮球模拟测试题及答案
- 助理广告师试题及答案知识架构
- 2024年助理广告师备考心得与实战经验分享试题及答案
- 植物辨识考试题及答案
- 2024年国际设计师考试的综合准备建议试题及答案
- 于设计教育中的广告设计课程建设探讨试题及答案
- 新材料在纺织品设计中的应用举例试题及答案
- 小升初舞蹈测试题及答案
- 北大竞赛数学试题及答案
- GB/T 18657.1-2002远动设备及系统第5部分:传输规约第1篇:传输帧格式
- GB/T 15608-2006中国颜色体系
- GB/T 14315-2008电力电缆导体用压接型铜、铝接线端子和连接管
- 中考语文二轮专题复习:散文和小说阅读
- 《民法》全册精讲课件
- 【人卫九版内分泌科】第十一章-甲状腺功能减退症课件
- 护理人员业务技术档案 模板
- 金融监管学-金融监管学课件
- 语文一年级上册:拼音9《y-w》ppt教学课件
- 标准溶液配制与标定原始记录(氢氧化钠)
- 内墙腻子施工技术交底
评论
0/150
提交评论