




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、汇编语言第一次实验实验目的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)熟练掌握汇编语言程序的书写、汇编、连接等步骤2)掌握基本的debug命令,并对程序进行基本的调试实验题目1. 将给定程序输入,并汇编、连接后生成可执行文件lab2.exe2. Debug lab2.exe3. 尝试(运用debug):1) 将内存中字符串 “ hello world改写成“ HELLO WORLD,并显示修改后的结果 e指令2)展示3F24+4A2B和3F24 - 4A2B的计算h指令3) 在内存中输入MOV AX, 50 a指令ADD AX,AX执行并查看AX的变化,修改AX的值为FFFFr指令;用于前两次实验的 hello world代码.
3、MODEL SMALL.STACK.CODESTR DB ODH,OAH,HELLO WORLD!,ODH,OAH,$.STARTUPLEA DX,STRMOV AH,09HINT 21H.EXIT 0 .END汇编语言第三次实验实验目的熟练使用Debug,理解数据在内存中的存放,并理解并练习各种寻址方式。实验题目1)在数据段中依次存入10,11,12,13,14,15,16,17,将其相加,并将结果存入DX寄存器;XMfiSH615debuffe 0S0Q 19 11 12A0HW*exe 13 14 151617BFeQBQBBFS:0303 览囲询腕EBF8:G807BFS:O809 B
4、Fe:S38B GF8:000DBFe:S08FBFS:8011 BPS:019SFS:8015 BFS:0017 BFS:8019 BFfl:031BBF8:0019BFS:O01F BFe:0021 BF8:O023BFS:02G BF8:S628 2flriDU ax nov al add ah mou al add ah mou al adEd ah nou al add ah w al add ah mau al add ah nau al add ah fwu al add. ah no v dx mo v dl*0000111213141516171Blalalal al al
5、al alaK=9C17S=0BE6 ES =0BE6BFe:0038 ?506CK0030SS 0BF61JNZDX=0090SP=0000 BP=0000 SI=0Q00 DI=0000CS=6BFB IP=0B28 NU UF El NG NZ NA PE NC2) 联系使用debug命令破解bios密码,写出自己对破解密码的理解Ddebug-o 70 2e (回车)-o 71 00 (回车)-0 70 2f (回车)-0 71 00 (回车)-Q重新启动,就可以进入CMOS进行修改了.2)debug-o 70 16 车)V 71 16 (回车)-q汇编语言第四次实验实验目的简单程序指令
6、的应用传送指令比较指令条件转移指令字符显示简单程序结构的学习能应用Debug工具调试程序实验题目在长度为8的字节数组(无符号数)中,查找大于42H的无符号数的个数,存放在字节单元up中;等于42H的无符号数的个数,存放在字节单元equa中;小于42H的无符号数的个数,存放在字节单元down 中。程序显示 up equa down的值。八个数:31H,21H,42H,52H,87H,23H,98H,01H参考程序:DATA SEGMENTDATA1 DB31H,21H,42H,52H,87H,23H,98H,01HCOUNT DB8HSEARCH DB42HUP DB0DOWN DB0EQUA
7、DB0UPSTRING DB0AH,0DH,UP Number:$DOWNSTRINGDB0AH,0DH,Down Number:$EQUASTRINGDB0AH,0DH,Eqau Number:$DATA ENDSCODE SEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DA TAMOVDS,AXMOVBX,0AGAIN:MOVAL,DA TA1+BXMOVDL,SEARCHCMPAL,DLJZEQUALJNSLARGERJSSMALLEREQUAL:INCEQUAINCBXCMPBX,8JNZAGAINJZNEXTLARGER:INCUPINCBXCMPBX
8、,8JNZAGAINJZNEXTSMALLER:INCDOWNINCBXCMPBX,8JNZAGAINJZNEXTNEXT:MOVDX,OFFSET UPSTRINGMOVAH,09HINT21HADDUP,30HMOVDL,UPMOVAH,2INT21HMOVDX,OFFSET DOWNSTRINGMOVAH,09HINT21HADDDOWN,30HMOVDL,DOWNMOVAH,2INT21HMOVDX,OFFSET EQUASTRINGMOVAH,09HINT21HADDEQUA,30HMOVDL,EQUAMOVAH,2INT21HMOVAX,4C00HINT21HCODE ENDSEN
9、DSTART程序解释:1 UPSTRING DB0AH,0DH,UP Number:$oah,Odh为回车和换行符$为字符串的结束标志,在调用中断显示字符串时是这样要求的。2 MOVAX,DA TAMOVDS,AX为什么不用MOV DS,DATA因为不能直接给段寄存器那样赋值3 CMPAL,DL比较两个数,并设置相应的条件标志位,后面往往跟跳转语句4 JZEQUALJNSLARGERJSSMALLERZ-Zero 零 ns-not sign 正 s-sign 负5 NC BXbx=bx+16 JNZ AGAINNZ-not zero 不相等7 MOV DX,OFFSET UPSTRING ;相
10、当于 lea dx,string 也相当于设置 dlMOV AH,09HINT 21H显示字符串8 ADD UP,30H数值变成ASC码,以便显示9 MOV AX,4C00H退岀程序汇编语言第五次实验实验目的汇编指令综合应用用表格形式显示字符实验题目1、 按15行X 16列的表格形式显示 ASCII码为10H - 100H的所有字符,即以行为主的顺序将 ASCII码递 增的顺序依次显示对应的字符。2、每16个字符为一行,字符之间以空白符隔开。2BRbU53CS c041$4DTdt :a:o7Gw sw faTN sft = M m?l *XXL1ll*1代码参考:DATA SEGMENTDA
11、TA1 DB10HCOUNTINLINEUPSTRING DDATA ENDSDBB10H0AH,0DH,$CODE SEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DA TAMOVDS,AXMOVBL,0MOVBH,10HMOVCL,8FHADDCL,70Hl_IN ELOOP:MOVAL,BHMOVDL,ALMOVAH,2HINT21HMOVDL,MOVAH,2HINT21HCMPBH,CLJZENDPROINCBHINCBLCMPBL,10HJZCHANGELINEJMPl_IN ELOOPCHANGELINE:MOVBL,0HMOVDX,OFFSET U
12、PSTRINGMOVAH,09HINT21HJMPl_IN ELOOPENDPRO: MOVAX,4C00HINT21HCODE ENDSENDSTART汇编语言第六次实验实验目的汇编指令综合应用DOS系统功能调用(也可以是其它形式)串操作指令的熟练运用实验题目从键盘输入两个字符串:A串,例如software 串,例如school of software engineering;判断A在B中是否存在,如果存在,输出“ FOUND ”,反之,输出“ NOT FOUND ” ;(确定一个B串中多处存在A串的例子),用一个C串去替换A串(A与C长度不一样,取代所有相 同的串),替换后的结果在显示器上
13、显示。参考代码:DATA SEGMENTBUFFERA DB81DB0DB81 DUP(0)BUFFERB DB81DB0DB81 DUP(0)PROMPTSTRINGADBinput A string:,0AH,0DH,$PROMPTSTRINGBDBinput B string:,0AH,0DH,$FOUNDSTRING DBFOUND IT,0AH,0DH,$NOTFOUNDSTRINGDBNOT FOUND IT,0AH,0DH,$DATA ENDSCODE SEGMENTASSUMECS:CODE,DS:DATASTART:;input A B stringMOVDX,OFFSET
14、PROMPTSTRINGAMOVAH,09HINT21HMOVDX,SEG BUFFERAMOVDS,DXMOVDX,OFFSET BUFFERAMOVAH,0AHINT21HMOVDX,OFFSET PROMPTSTRINGBMOVINTMOVMOVMOVMOVINT;look for if A in BMOVMOVADDADDPUSHPUSHMOVMOVMOVMOVPUSHAGAIN:POPPOPINCPOPAH,09H21HDX,SEG BUFFERBES,DXDX,OFFSET BUFFERBAH,0AH21HSI,OFFSET BUFFERADI,OFFSET BUFFERBSI,0
15、2HDI,01HSIDIBX,ES:DIBH,00HCX,DS:SI-01HCH,00HCXCXDIDISIENDPRO: MOVAX,4C00HPUSHPUSHPUSHREPZ CMPSBCMPJZSUBJZJMPFOUND:MOVMOVINTJMPNOTFOUND:MOVMOVINTSIDICXCX,0FOUNDBL,01HNOTFOUNDAGAINDX,OFFSET FOUNDSTRINGAH,09H21HENDPRODX,OFFSET NOTFOUNDSTRINGAH,09H21HINT21HCODE ENDSENDSTART汇编语言第七次实验实验目的 学习使用简化段定义格式进行汇编语
16、言程序设计练习相关伪指令熟练进行程序流程操作实验题目从键盘输入一个字符串:对其中的所有字母进行排序,将结果输岀;如,输入:gaoxing输出:agginox (二班选做,将所有小写字母转换成大写字母)参考代码:;输入字符串,排序输岀,可以考虑已讲的各种程序设计技巧。.MODELSMALL.STACK.DATASOURCENUMBERS DB64DB0ARRAY EQUTHIS BYTEDBDESTNUMBERS DBDBDBCOUNT DW0PROMPTSTRINGA DB PROMPTSTRINGB DB .CODE.startupMOVMOVINT64 DUP($)64064 DUP($)
17、0AH,0DH,input string:,0AH,0DH,$0AH,0DH,output string:,0AH,0DH,$DX,OFFSET PROMPTSTRINGAAH,09H21H;读入数字,以数组的形式MOVDX,OFFSET SOURCENUMBERSMOVAH,0AHINT21HMOVAL, SOURCENUMBERS+1MOVAH,0HMOVCOUNT,AX;输岀提示MOVDX,OFFSET PROMPTSTRINGBMOVAH,09HINT21HMOVCX,COUNT;CX J数组元素个数DECCX;元素个数减1为外循环次数OUTLP:MOVDX,CX;DX J内循环次数M
18、OVBX,OFFSET ARRAYINLP: MOVAL,BX;取前一个元素CMPAL,BX+1;与后一个元素比较JNANEXT;前一个不大于后一个元素,则不进行交换XCHGAL,BX+1;否则,进行交换MOVBX,ALNEXT:INCBX;下一对元素DECDXJNZINLP;内循环尾LOOPOUTLP;外循环尾OUPUTING:MOVDX,OFFSET ARRAYMOVAH,09HINT21H.EXIT0END汇编语言第八次实验 这次就自己动手吧下面是一个调用子程序输出hello world的小程序,仅作参考。.MODEL SMALL.STACK.DATASTR DB 0DH,0AH,Hello World!,0DH,0AH,$.CODE.STARTUPCALL OUTPUTMOV AH,4CHINT 21HOUTPUT:LEA DX,STRMOV AH,9HINT 21HRET.EXIT 0 .END”可见,一个人的心胸和眼光,决清代 红顶商人”胡雪岩说: 做生意顶要紧的是眼光,看得到一省,就能做一省的生意;看得到天下,就能做天下的生意;看得到外国,就能做外国的生意。定了他志向的短浅或高远;一个人的希望和梦想,决定了他的人生暗淡或辉煌。人生能有几回搏,有生不搏待何时!所有的机遇和成功,都在充满阳光,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论