初级程序的编写与调试_第1页
初级程序的编写与调试_第2页
初级程序的编写与调试_第3页
初级程序的编写与调试_第4页
初级程序的编写与调试_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

精品文档 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 阅读利用 DOS 功能调用 INT21H 的 2 号和 9 号功能进行屏幕显示的内容 3 阅读实验指导书中的字符串屏幕显示程序 字符屏幕显示程序 直接向 VRAM 送 ASCII 码显示字符程序 用字符搜索法确定字符串长度程序 16 进制数化 ASCII 码的一般方法的程序段 调试上述程序 五 五 主要实验步骤及结果主要实验步骤及结果 1 1 利用 利用INTINT 2121 0AH0AH号功能调用显示字符串 号功能调用显示字符串 1 用A命令在100H处键入下列程序 MOVAH 9 MOVDX 110 INT21 INT20 2 用A命令在110H处键入下列字符串的ASCII码 DB This is a sample 3 用N命令和W命令将此程序 包括数据区 存入文件名为AA COM的磁 盘文件中 存入前BX CX必须置为文件长度值 4 用Q命令退出DEBUG 5 在DOS命令下打AA 运行此程序 即在屏幕上显示 This is a sample 字符串 若不出现 用DEBUG检查程序有无错误 精品文档 2欢迎下载 2 2 利用 利用INTINT 21H21H 2 2号功能显示字符号功能显示字符 1 用A命令在100H处键入下列程序 XORDL DL MOV CX 100 LOP MOVAH 2 INT21 INCDL PUSH CX MOVCX 8 DELY PUSH CX MOVCX 0 J LOOP J POPCX LOOP DELY POPCX LOOP LOP INT20 2 用G命令运行程序 即在屏幕上依次缓慢的显示256个ASCII字 符 仔细观察每个字符 和IBM PC ASCII码表对照 看07H 0DH处控制字符显示结果与表上有何不同 表中的07H 0DH处是用字符表示 如07H为BEL 0DH为CR 但是显示出来的是用小符号来表示 如07H用笑脸表示 0DH直 接是以回车来表现 精品文档 3欢迎下载 3 按CTRL BREAK退出此程序 若一次不行可多做几次 3 3 直接向 直接向VRAMVRAM送送ASCIIASCII码显示字符码显示字符 1 用A命令在100H处键入下列程序 MOVAX B000 MOVDS AX XORAL AL XORBX BX MOVCX 100 LOP MOV BX AL INCBX INCAL PUSHCX MOVCX 8 DELY PUSH CX MOVCX 0 J LOOP J POPCX LOOPDELY POPCX LOOPLOP INT20 2 用N命令和W命令将此程序存入BB COM文件中 一定要先存入 精品文档 4欢迎下载 3 用G命令运行此程序 仔细观察每一个ASCII码显示结果 并和字 符表及上一道程序运行情况进行对照 其控制字符区 07 0DH 显示 结果和INT 21H 2号功能调用有何不同 控制字符区在该程序中没有显示 在上一个程序中显示为笑脸 等符号 4 4 用字符搜索法确定字符串长度 用字符搜索法确定字符串长度 1 用A命令在100H开始的内存处键入下列程序 JMPSTART DB This is the program to measure DB the length of a string START MOV BX 102 MOVAL 24 XORCL CL LOP CMPAL BX JZEXIT INCBX INCCL JMPLOP EXIT INT3 2 用G命令运行此程序 并检查CL的统计长度是否与你自己统计的实 际长度是否一样 5 5 用字符搜索法确定字符串长度 用字符搜索法确定字符串长度 1 用A命令在100H处键入下列程序 精品文档 5欢迎下载 MOV SI 0 MOV BL 10 LOP MOV DL SI MOV CL 4 SHR DL CL CMP DL 0A JCJ1 ADDDL 7 J1 ADDDL 30 MOVAH 2 INT21 MOVDL SI ANDDL 0F CMPDL 0A JCJ2 ADDDL 7 J2 ADDDL 30 MOVAH 2 INT21 MOVDL 20 MOVAH 2 INT21 INCSI DECBL JNZLOP INT20 2 用N W命令将此程序用CC COM文件名存入磁盘 3 用Q命令退出DEBUG 4 在DOS命令状态下直接运行CC COM命令文件 应在屏幕上显示出 内存从0000H开始的16个字节的内容 若有错误 用DEBUG检查之 精品文档 6欢迎下载 5 自编程序 修改上面程序 使除以16进制数形式显示内存内容外 还能在其右边显示该16进制码所对应的ASCII字符 07 0D的控制字 符用 代替 在DOS下输入DEBUG CC COM打开程序 从最后一条指令INT 20 包括该指令 开始修改 修改方法如下 MOV CX 10 MOV SI 0 J3 MOV DI SI MOV AH 2 CMP DL 0D JBEJ5 J4 INT 21 INCSI 精品文档 7欢迎下载 DEC CX JNZJ3 INT 20 J5 CMP DL 07 JNBJ4 MOV DL 2E JMP J4 六 六 思考题思考题 利用INT 21H 显示和直接向VRAM送ASCII码显示方法在显示结果上有什 么不同 答 利用INT 21H显示时 07H 0DH的控制符会用笑脸之类的符号显示 直接向VRAM送ACSII码时 07H 0DH的控制符不显示 七 七 实验心得实验心得 1 语言的实验系列自己收获很多 哪怕理论课程没有学的扎实 通过 实际的实验操作也让自己更牢固地掌握了相关知识 2 在使用DOS中断2号功能显示字符时 尤其是数字字符 发现只要数 字超

温馨提示

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

最新文档

评论

0/150

提交评论