




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
汇编语言第一次实验实验目的1)了解汇编语言程序的基本结构3) 掌握汇编语言程序编写、编译、链接、运行的基本步骤和命令3)自学并掌握运用DEBUG命令进行程序调试的基本命令实验题目1.选用某编辑器(MASM或QASM),输入Helloworld.asm程序(照着实验要求及辅导的图敲,简单理解即可,后面会详细讲)2.使用masm与link命令汇编并运行程序3.使用ml命令汇编并运行程序4.自学”Debug调试程序”,了解其基本选项的应用5.查看“Hello World”字符串所在的内存地址,使用debug工具将“W”改为“w”6.掌握选项的使用:A U D E G H P T Q R不解释汇编语言第二次实验实验目的2) 熟练掌握汇编语言程序的书写、汇编、连接等步骤2)掌握基本的debug命令,并对程序进行基本的调试实验题目1.将给定程序输入,并汇编、连接后生成可执行文件lab2.exe2.Debug lab2.exe3.尝试(运用debug):1)将内存中字符串“hello world”改写成“HELLO WORLD”,并显示修改后的结果e指令2)展示3F24+4A2B和3F244A2B的计算h指令3)在内存中输入 MOV AX, 50 a指令 ADD AX,AX执行并查看AX的变化,修改AX的值为FFFFr指令;用于前两次实验的hello world代码.MODEL SMALL.STACK .CODE STR DB 0DH,0AH,HELLO WORLD!,0DH,0AH,$.STARTUP LEA DX,STRMOV AH,09HINT 21H.EXIT 0.END汇编语言第三次实验实验目的熟练使用Debug,理解数据在内存中的存放,并理解并练习各种寻址方式。实验题目1) 在数据段中依次存入10,11,12,13,14,15,16,17,将其相加,并将结果存入DX寄存器。2) 联系使用debug命令破解bios密码,写出自己对破解密码的理解。汇编语言第四次实验实验目的简单程序指令的应用传送指令比较指令条件转移指令字符显示简单程序结构的学习能应用Debug工具调试程序实验题目在长度为8的字节数组(无符号数)中,查找大于42H的无符号数的个数,存放在字节单元up中;等于42H的无符号数的个数,存放在字节单元equa中;小于42H的无符号数的个数,存放在字节单元down中。程序显示up equa down的值。八个数:31H,21H,42H,52H,87H,23H,98H,01H参考程序:DATA SEGMENT DATA1 DB 31H,21H,42H,52H,87H,23H,98H,01HCOUNT DB 8HSEARCH DB 42HUP DB 0DOWN DB 0EQUA DB 0UPSTRING DB 0AH,0DH,UP Number:$DOWNSTRING DB 0AH,0DH,Down Number:$EQUASTRING DB 0AH,0DH,Eqau Number:$DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV BX,0 AGAIN: MOV AL,DATA1+BX MOV DL,SEARCH CMP AL,DL JZ EQUAL JNS LARGER JS SMALLER EQUAL: INC EQUA INC BX CMP BX,8 JNZ AGAIN JZ NEXT LARGER: INC UP INC BX CMP BX,8 JNZ AGAIN JZ NEXT SMALLER: INC DOWN INC BX CMP BX,8 JNZ AGAIN JZ NEXT NEXT: MOV DX,OFFSET UPSTRING MOV AH,09H INT 21H ADD UP,30H MOV DL,UP MOV AH,2 INT 21H MOV DX,OFFSET DOWNSTRING MOV AH,09H INT 21H ADD DOWN,30H MOV DL,DOWN MOV AH,2 INT 21H MOV DX,OFFSET EQUASTRING MOV AH,09H INT 21H ADD EQUA,30H MOV DL,EQUA MOV AH,2 INT 21H MOV AX,4C00H INT 21HCODE ENDS END START程序解释:1 UPSTRING DB 0AH,0DH,UP Number:$oah,0dh为回车和换行符$为字符串的结束标志,在调用中断显示字符串时是这样要求的。2 MOV AX,DATA MOV DS,AX为什么不用MOV DS,DATA 因为不能直接给段寄存器那样赋值3 CMP AL,DL比较两个数,并设置相应的条件标志位,后面往往跟跳转语句4 JZ EQUAL JNS LARGER JS SMALLER Z-Zero零 ns-not sign正 s-sign负5 NC BXbx=bx+16 JNZ AGAIN NZ-not zero 不相等7 MOV DX,OFFSET UPSTRING ;相当于lea dx,string也相当于设置dl MOV AH,09H INT 21H 显示字符串8 ADD UP,30H数值变成ASC码,以便显示9 MOV AX,4C00H退出程序汇编语言第五次实验实验目的汇编指令综合应用用表格形式显示字符实验题目1、 按15行16列的表格形式显示ASCII码为10H100H的所有字符,即以行为主的顺序将ASCII码递增的顺序依次显示对应的字符。2、 每16个字符为一行,字符之间以空白符隔开。代码参考:DATA SEGMENTDATA1 DB 10HCOUNTINLINE DB 10HUPSTRING DB 0AH,0DH,$DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV BL,0 MOV BH,10H MOV CL,8FH ADD CL,70H LINELOOP: MOV AL,BH MOV DL,AL MOV AH,2H INT 21H MOV DL, MOV AH,2H INT 21H CMP BH,CL JZ ENDPRO INC BH INC BL CMP BL,10H JZ CHANGELINE JMP LINELOOP CHANGELINE: MOV BL,0H MOV DX,OFFSET UPSTRING MOV AH,09H INT 21H JMP LINELOOP ENDPRO: MOV AX,4C00H INT 21HCODE ENDS END START汇编语言第六次实验实验目的汇编指令综合应用DOS系统功能调用(也可以是其它形式)串操作指令的熟练运用实验题目从键盘输入两个字符串:A串,例如software;B串,例如school of software engineering;判断A在B中是否存在,如果存在,输出“FOUND”,反之,输出“NOT FOUND”;(确定一个B串中多处存在A串的例子),用一个C串去替换A串(A与C长度不一样,取代所有相同的串),替换后的结果在显示器上显示。参考代码:DATA SEGMENTBUFFERA DB 81 DB 0 DB 81 DUP(0)BUFFERB DB 81 DB 0 DB 81 DUP(0)PROMPTSTRINGA DB input A string:,0AH,0DH,$PROMPTSTRINGB DB input B string:,0AH,0DH,$FOUNDSTRING DB FOUND IT,0AH,0DH,$NOTFOUNDSTRING DB NOT FOUND IT,0AH,0DH,$DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA START:;input A B string MOV DX,OFFSET PROMPTSTRINGA MOV AH,09H INT 21H MOV DX,SEG BUFFERA MOV DS,DX MOV DX,OFFSET BUFFERA MOV AH,0AH INT 21H MOV DX,OFFSET PROMPTSTRINGB MOV AH,09H INT 21H MOV DX,SEG BUFFERB MOV ES,DX MOV DX,OFFSET BUFFERB MOV AH,0AH INT 21H;look for if A in B MOV SI,OFFSET BUFFERA MOV DI,OFFSET BUFFERB ADD SI,02H ADD DI,01H PUSH SI PUSH DI MOV BX,ES:DI MOV BH,00H MOV CX,DS:SI-01H MOV CH,00H PUSH CX AGAIN: POP CX POP DI INC DI POP SI PUSH SI PUSH DI PUSH CXREPZ CMPSB CMP CX,0 JZ FOUND SUB BL,01H JZ NOTFOUND JMP AGAIN FOUND: MOV DX,OFFSET FOUNDSTRING MOV AH,09H INT 21H JMP ENDPRO NOTFOUND: MOV DX,OFFSET NOTFOUNDSTRING MOV AH,09H INT 21H ENDPRO: MOV AX,4C00H INT 21HCODE ENDS END START汇编语言第七次实验实验目的学习使用简化段定义格式进行汇编语言程序设计练习相关伪指令熟练进行程序流程操作实验题目从键盘输入一个字符串:对其中的所有字母进行排序,将结果输出;如,输入:gaoxing输出:agginox(二班选做,将所有小写字母转换成大写字母)参考代码:;输入字符串,排序输出,可以考虑已讲的各种程序设计技巧。.MODEL SMALL.STACK.DATASOURCENUMBERS DB 64 DB 0ARRAY EQU THIS BYTE DB 64 DUP($)DESTNUMBERS DB 64 DB 0 DB 64 DUP($)COUNT DW 0PROMPTSTRINGA DB 0AH,0DH,input string:,0AH,0DH,$PROMPTSTRINGB DB 0AH,0DH,output string:,0AH,0DH,$.CODE.startup MOV DX,OFFSET PROMPTSTRINGA MOV AH,09H INT 21H ;读入数字,以数组的形式 MOV DX,OFFSET SOURCENUMBERS MOV AH,0AH INT 21H MOV AL, SOURCENUMBERS+1 MOV AH,0H MOV COUNT,AX ;输出提示 MOV DX,OFFSET PROMPTSTRINGB MOV AH,09H INT 21H MOV CX,COUNT ;CX数组元素个数 DEC CX ;元素个数减1为外循环次数 OUTLP: MOV DX,CX ;DX内循环次数 MOV BX,OFFSET ARRAY INLP: MOV AL,BX ;取前一个元素 CMP AL,BX+1 ;与后一个元素比较 JNA NEXT;前一个不大于后一个元素,则不进行交换 XCHG AL,BX+1 ;否则,进行交换 MOV BX,AL NEXT: INC BX ;下一对元素 DEC DX JNZ INLP ;内循环尾 LOOP OUTLP ;外循环尾 OUP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 包死价合同标准文本
- 修补工程劳务合同标准文本
- 动产担保合同样本
- 小学生阅读能力提升活动计划
- 25年公司三级安全培训考试试题及答案审定
- 25年车间职工安全培训考试试题【培优A卷】
- 25年公司、项目部、各个班组三级安全培训考试试题附答案【培优】
- 2025公司安全管理员安全培训考试试题(7A)
- 人教版九年级英语教学计划学习资源整合
- 四年级语文阅读与生活结合计划
- 书法报名合作合同标准文本
- 宠物鲜食知识培训课件
- 2025届广东省佛山市高三上学期一模生物试题含答案
- 履带吊安装与拆卸专项监理细则
- 血透患者如何预防高血钾
- 2.2城镇化课件高中地理人教版(2019)必修二
- 2025年3月版安全环境职业健康法律法规标准文件清单
- 2025河南中烟漯河卷烟厂招聘7人易考易错模拟试题(共500题)试卷后附参考答案
- 2024-2025学年历史统编版七年级下册期末评估测试卷 (含答案)
- 2025年河南交通职业技术学院单招职业技能测试题库审定版
- 政府审计 课件汇 蒋秋菊 第5-12章 金融审计- 政府审计报告
评论
0/150
提交评论