欢迎来到天天文库
浏览记录
ID:49922165
大小:154.00 KB
页数:8页
时间:2020-03-05
《初级程序的编写与调试.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、.初级程序的编写与调试一、实验目的1.掌握无条件转移指令、条件转移指令;2.掌握利用DOS功能调用INT21H的2号和9号功能进行屏幕显示的方法;3.掌握直接向视频RAM送ASCII码进行屏幕显示的方法;4.掌握屏幕字符显示程序编写与调试。二、实验内容5.字符、字符串的屏幕显示;6.直接向VRAM送ASCII码显示字符;7.用字符搜索法确定字符串长度;8.16进制数化ASCII码的一般方法(显示内存内容)。三、实验环境PC微机DOS操作系统或Windows操作系统MASM.EXE,LINK.EXE,DEBUG.COM或宏汇编集成环境四、实验要求1.仔细阅读有关无条件转移指令、
2、条件转移指令的内容;2.阅读利用DOS功能调用INT21H的2号和9号功能进行屏幕显示的内容;3.阅读实验指导书中的字符串屏幕显示程序、字符屏幕显示程序、直接向VRAM送ASCII码显示字符程序、用字符搜索法确定字符串长度程序、16进制数化ASCII码的一般方法的程序段,调试上述程序。五、主要实验步骤及结果1.利用INT210AH号功能调用显示字符串。(1)用A命令在100H处键入下列程序:MOVAH,9MOVDX,110INT21INT20(2)用A命令在110H处键入下列字符串的ASCII码:DB'Thisisasample!$'(3)用N命令和W命令将此程序(包括数据区
3、)存入文件名为AA.COM的磁盘文件中。(存入前BX:CX必须置为文件长度值)。(4)用Q命令退出DEBUG。(5)在DOS命令下打AA,运行此程序,即在屏幕上显示'Thisisasample!'字符串,若不出现,用DEBUG检查程序有无错误。....2.利用INT21H2号功能显示字符(1)用A命令在100H处键入下列程序:XORDL,DLMOVCX,100LOP:MOVAH,2INT21INCDLPUSHCXMOVCX,8DELY:PUSHCXMOVCX,0J:LOOPJPOPCXLOOPDELYPOPCXLOOPLOPINT20(2)用G命令运行程序,即在屏幕上依次缓慢
4、的显示256个ASCII字符。仔细观察每个字符,和IBM-PCASCII码表对照,看07H-0DH处控制字符显示结果与表上有何不同?表中的07H-0DH处是用字符表示,如07H为BEL,0DH为CR,但是显示出来的是用小符号来表示,如07H用笑脸表示,0DH直接是以回车来表现。....(3)按CTRL+BREAK退出此程序,若一次不行可多做几次。3.直接向VRAM送ASCII码显示字符(1)用A命令在100H处键入下列程序MOVAX,B000MOVDS,AXXORAL,ALXORBX,BXMOVCX,100LOP:MOV[BX],ALINCBXINCALPUSHCXMOVCX
5、,8DELY:PUSHCXMOVCX,0J:LOOPJPOPCXLOOPDELYPOPCXLOOPLOPINT20(2)用N命令和W命令将此程序存入BB.COM文件中。(一定要先存入!)....(3)用G命令运行此程序,仔细观察每一个ASCII码显示结果,并和字符表及上一道程序运行情况进行对照,其控制字符区(07-0DH)显示结果和INT21H2号功能调用有何不同?控制字符区在该程序中没有显示,在上一个程序中显示为笑脸等符号。4.用字符搜索法确定字符串长度(1)用A命令在100H开始的内存处键入下列程序JMPSTARTDB'Thisistheprogramtomeasure'
6、DB'thelengthofastring!$'START:MOVBX,102MOVAL,24XORCL,CLLOP:CMPAL,[BX]JZEXITINCBXINCCLJMPLOPEXIT:INT3(2)用G命令运行此程序,并检查CL的统计长度是否与你自己统计的实际长度是否一样?5.用字符搜索法确定字符串长度(1)用A命令在100H处键入下列程序:....MOVSI,0MOVBL,10LOP:MOVDL,[SI]MOVCL,4SHRDL,CLCMPDL,0AJCJ1ADDDL,7J1:ADDDL,30MOVAH,2INT21MOVDL,[SI]ANDDL,0FCMPDL,0
7、AJCJ2ADDDL,7J2:ADDDL,30MOVAH,2INT21MOVDL,20MOVAH,2INT21INCSIDECBLJNZLOPINT20(2)用N,W命令将此程序用CC.COM文件名存入磁盘。(3)用Q命令退出DEBUG。(4)在DOS命令状态下直接运行CC.COM命令文件,应在屏幕上显示出内存从0000H开始的16个字节的内容,若有错误,用DEBUG检查之。....(5)自编程序:修改上面程序,使除以16进制数形式显示内存内容外,还能在其右边显示该16进制码所对应的ASCII字符,07
此文档下载收益归作者所有