2025年汇编语言编程实践指南_第1页
2025年汇编语言编程实践指南_第2页
2025年汇编语言编程实践指南_第3页
2025年汇编语言编程实践指南_第4页
2025年汇编语言编程实践指南_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

专业:汇编语言是计算机专业的一门重要的专业基础课,重要简介汇编语言程序设计的基本原理和措施。汇编语言是一门理论性和实践性较强的课程,辅助课堂教学的试验有助于协助学生理解汇编语言的基本原理,锻炼学生的动手能力,提高学生的综合应用二.课程内容例1:-D100例1:-E100414243444847464508F1:01007642:42此命令是将原100号内存内容76修改为42,用D命令可察看。指令的功能。三.课程规定五.措施环节????????(c)2009MicrosoftCorporation????????????????AX=0000BX=0000CX=0000DX=0000DS=13A4ES=13A4SS=13A4_CS=13A4IP=0100NVUPEIPLNZNAPONC13A4:01000000ADD[BX+SI],ALe0zGc5aaaaaacncUsersNHCMMistraror>debugUsersNHCMMistraror>debugDS=13A4ES=13A4SS=13A4CS=13A4DS=13A4ES=13A4SS=1AX=0010BX=0000CX=0002DX=0000SP=FFEEDS=13A4ES=13A4SS=13A4CS=13A4IP=0109NVUPEIPLNZACPONC13A4:01090000ADD[BX+SI],AL????????<c)2089MicrosoftCorporation????????????????F:WsersADMINI~1>_六.学习规定答:用debug+文献名八.小结一.课程目的1.深入熟悉DEBUG命令;3.熟悉数据传送指令、算术运算指令、逻辑指令、数据串传送程序和数据串传送指令MOVS、STOS及反复前辍REP;1.内存操作数及多种寻址方式使用;2.求累加和程序;3.多字节加法程序;4.数据串搬家程序;5.段寄存器概念及字符串传送指令练习。三.课程规定1.仔细阅读有关DEBUG命令的内容,对有关命令,规定事先准备好使用的例子;2.阅读数据传送指令、算术运算指令、逻辑指令、数据串传送程序和数据串传送指令MOVS、STOS及反复前辍REP的内容;四.环境DOS操作系统或Windows操作系统;MASM.EXE,LINK.EXE,DEBUGCOM或宏汇编集成环境。五.措施环节1.内存操作数及多种寻址方式使用MOVWORDPTR[BX+SI+2],2846(1)用A命令键入上述程序,并用T命令逐条运行。(2)每运行一条有关内存操作数的指令,要用D命令检查并记录有关内存单元的内容并注明是什注意D命令显示成果中右边的ASCII字13A4:0109movAX=1234BX=0000CX=0000DX=0000SP=FFEEBP=0000_SIDS=13A4ES=13A4SS=13A4NVUPEIPLNZNAP13A4:010C13A4:010CB239DS=13A4ES=13A4SS=13A4CS=13A4IP=010ENVUPEIPLNZNAPONC13A4:0103A3001013A4:0103A30010NODS=13A4ES=13A4SS=aX=1234BX=1002CX=0000DXDS=13A4ES=13A4SS=13A4CS=13A4IP=0109NVUPEIPLNZNAaX=1234BX=1002CX=0000DX=0000SP=FFEEBP=0000_SI=0000.DIDS=13A4ES=13A4SS=13A4CS=13AAX=1234BX=1003CX=0000DX=0039SP=FFEEBP=0000_SI=0000DS=13A4ES=13A4SS=13A4CS=13A4IP=0111寄存器相对寻址:AX=1234BX=1003CX=0000DX=0038SP=FFEEBP=0000_SI=DS=13A4ES=13A4SS=13A4CS=13A4INVUPEIPLNZNAPONCAX=1234BX=1003CX=0000DX=0038DS=13A4ES=13A4SS=13A4CS=13A4IP=011BNVUPEIPLNAX=1234BX=1003CX=0000DX=0038SP=FFEEB2.求累加和程序:程序:MOVBX,1000环节:(1)用A命令将程序键入到100H开始的内存中,在键入时记下标号LOP和J的实际地址,在键入LOOP指令时LOP用实际地址值替代;(3)用R命令将BX:CX改为程序长度值(即最终一条指令背面的地址减去开始地址;(4)用命令W100将此程序存到AA命名的磁盘文献中;(5)用命令Q退出DEBUG;(6)用命令DEBUGAA再次调入DEBUG和文献AA,可用U命令检查调入程序;若调入DEBUG时忘了加AA文献名,可用N命令和L命令将文献调入;E:\Users\ADMINI~1>debE:\Users\ADMINI~1>deb(7)用E命令在内存地址1000H处键入16个数字;(8)用命令G=100JJ用实际地址替代),使程序运行并停在断点J上,检查AX,BX的值与否符合你的估计值;AX=0000BX=1001CX=0010DX=00(9)用T命令运行一步,观测程序方向(IP值)和CX值与否与你的估计同样,若不一样样,检查程序与否有错;AX=0000BX=1001CX=000FDAX=0000BX=1001CX=000FDDS=13A4ES=13A4SS=13A4CS=13A4IP=0108NVUPEIPLNZNAPONC(10)反复G、J与T,再检查AX与否对的;(11)用G命令使程序运行到结束,检查AX值与否对的。3.多字节加法程序(1)用命令键入此程序(2)用E命令在1000H开始处键入一种8字节被加数,在H开始处键入一种8字节加数,均为低字节5.段寄存器概念及字符串传送指令练习ES,AX(2)用A命令DB伪指令在1000:0000处键入字符串TBM_PCCOMPUTER',并用D命检查之(3)用D命令检查0F00:1000处内容,看与否同样。为何?相似,由于1000:0000和0F00:1000是同一种地址。(4)用G命令运行此程序,检查目的地址1500:0000处内容。并记下DS与ES值。(5)修改此程序,使ES与DS为同一值,以减少一条指令,而源物理地址和目的物理地址(是多少?)仍和本来同样。修改后程序:AX=1000BX=0000CX=000CDX=0000SP=FFEEBP=0000_SI=0003DI=0003AX=1000BX=0000CX=000CDX=0000SP=FFEEBP=0000_SI=0003DI=0003六.学习规定1.各项试验记录;2.规定你修改的程序的清单(修改后)和调试记录;3.自编程序原稿及调试后修正稿,写出原稿错在那里。SBO9:0114MouSBO9:0114MouOBO9:011?movwordptr[答:不行ORO9:011C2.用G命令运行多字节加法程序,并用D命令检查其成果(寄存在哪里?),与否对的?D-=..t#=.3.将多字节加法程序中的INT20H指令改为INT3,有何区别?若这条指令不加,行不行?试一OBO9:0114MouDI.1000OBO9:0114MouDI.1000OBO9:011AMousI,OBO9:011EMOUALOBO9:0131MoUAL[SI]4.数据串搬家程序中的目的地址改为1002H,再运行此程序,看能不能把1000H开始的字符串搬OBO9:0109MOUAX.[SI]1.掌握无条件转移指令、条件转移指令;2.掌握运用DOS功能调用INT21H的2号和9号功能进行屏幕显示的措施;3.掌握直接向视频RAM送ASCII码进行屏幕显示的措施;二.课程内容1.字符、字符串的屏幕显示;2.直接向VRAM送ASCII码显示字符;3.用字符搜索法确定字符串长度;4.16进制数化ASCII码的一般措施(显示内存内容)。2.阅读运用DOS功能调用INT21H的2号和9号功能进行屏幕显示的内容;3.阅读试验指导书中的字符串屏幕显示程序、字符屏幕显示程序、直接向VRAM送ASCII码显示字符程序、用字符搜索法确定字符串长度程序、16进制数化ASCII码的一般措施的程序段,调试上述程序。四.环境DOS操作系统或Windows操作系统;MASM.EXE,LINK.EXE,DEBUG.COM或宏汇编集成环境。五.措施环节(1)用A命令在100H处键入下列程序:(2)用A命令在110H处键入下列字符串的ASCI码:qqC:\DOCUME~1\ADMINI~1>debugaaC:\DOCUME~1\ADMINI~1>debugaa rAX=0000BX=0000CX=0000DX=0000SP=FFEEBP=0000_SI=0000DS=13A4ES=13A4SS=13A4CS=13A4IP=0100NVUPEIPLNZNAPONCXORXORBX,BXCX,100DBO9:0109cx,OBO9:0111pushOBO9:0112moucx(3)用G命令运行此程序,仔细观测每一种ASCII码显示成果,并和字符表及上一道程序运行状况进行对照,其控制字符区(07-0DH)显示成果和INT21H2号功能调用有何不一样?4.用字符搜索法确定字符串长度(1)用A命令在100H开始的内存处键入下列程序START:MOVLOP:CMPAL,[BX](2)用G命令运行此程序,并检查CL的记录长度与否与你自己记录的实际长度与否同样?答:同样。13A4:0102db'This13A4:0120db'thelengthofstring!$’AX=0024BX=0135CX=0033DX=DS=13A4ES=13A4SS=13A5.用字符搜索法确定字符串长度d4nnd4nntC污言言片方昂归污言言片方昂归Writing1000(4)在DOS命令状态下直接运行CC.COM命令文献,应在屏幕上显示出内存从0000H开始的16个字节的内容,若有错误,用DEBUG检查之。C:\DOCUME~1\ADMINI~1>DEBUGC:\DOCUME~1\ADMINI~1>DEBUG11六.学习规定1、各项试验记录及观测体会。2、自编程序草稿及调试成果。七.思索题运用INT21H显示和直接向VRAM送ASCII码显示措施在显示成果上有什么不一样?1、INT21H只能在目前位置显示默认属性(即颜色)的字符,在VRAM中可修改任何一种位置的字符和属性。2、INT21H更靠近顾客,使用简朴。修改VRAM更靠近硬件,需记住对应于屏幕某位置的物理地址才能使用。本设计比较难,但理解了字符串转移的基本措施。学会了条件转移、无条件转移指令的使用。对汇编语言的指令有了深入的理解。但进行屏幕显示的没有成功,阐明自己的能力有待提高。对DOS的显示功能不纯熟。4汇编语言程序上机过程一.课程目的1.掌握常用的编辑工具软件(如WORD、EDIT)、MASM和LINK的使用;2.伪指令:SEGMENT,ENDS,ASSUME,END,OFFSET,DUP;3.运用的INT21H的1号功能实现键盘输入的措施;三.课程规定1.仔细阅读有关伪指令SEGMENT,ENDS,ASSUME,END,OFFSET,DUP的内容;2.理解运用的INT21H的1号功能实现键盘输入的措施,理解四.环境PC微机DOS操作系统或Windows操作系统MASM。EXE,LINK。EXE,DEBUG。COM或宏汇编集成环境"ThisisasampleprogramofkeyboarOdh,Oah,'Pleasestrike21h;显示"Thisisasamplepal,1bh;1bh字符ESC的Ajejcjb)jaal,61h;61h字符a的ASCIInd;不不小于(CF=1有借位)转向ND原样显示al,11011111b;转化为大写字母subal,20hjmp1.用用文字编辑工具(记事本或EDIT辑工具修改源程序后重新汇编,直至通过。在屏幕上显示二个相似的字符,但小写字母被改成大写。按ESC键可返回DOS。若未出现预期成果,六.学习规定汇编,连接及调试时产生的错误,其原因及处理措施。七.思索题答:无法显示出字符。2.把INT21H4CH号功能改为INT20H,行不行?答:不行。通过本次设计理解汇编语言程序的汇编、运行环境。懂得了汇编语言的调试、执行的基本措施。但还不纯熟,还没有掌握。对软件还不熟悉。EXE文献的生成过程不顺利。同步,我也更深一步理解了汇编语言指令的设计、调试等。5分支程序一.课程目的1.掌握分支程序的设计措施;2.掌握运用DEBUG修改参数、检查成果的措施;3.熟悉汇编语言源程序的编辑、汇编、连接及调试过程。二.课程内容1.编写一种程序,显示AL寄存器中的两位十六进制数START:MOYAL,0E3H;3E是要输出的两位十六进制数11100011SHRDL,CL;循环右移四位后AL变为00001110MOYAH,4CHPressEnterkeyto2.编写一种程序,鉴别键盘上输入的字符;若是1-9字符,则显示之;若为A-Z或a-z字符,均显示“c”;若是回车字符<CR>(其ASCII码为0DH),则结束程序,若为其他字符则不显示,继续等待新的字符输入。jEend_dec22/pc-四.环境PC微机五.措施环节(1)用DEBUG调试运行,学会修改AL内容的措施;(3)在MS-DOS下运行这两个.EXE文献。六.学习规定七.思索题编写显示AX中四位十六进制数程序,画出程assumecs:code,ds:dat;字母转换;将输入的字符合成为4位十六进制数;算法:左移4位,加上新输入的数;输出msg2;转换为十进制,并将各位入栈reinput:movax,data;求重新输入PressEnterkeytocontinue..-(2)显示键入字符程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论