已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 软件实验一软件实验一 汇编语言程序的调试与运行汇编语言程序的调试与运行 一 实验目的一 实验目的 1 学习数据传送和算术运算指令的用法 2 熟悉在 PC 机上编辑 汇编 连接 调试和运行汇编语言程序的过程 二 实验内容二 实验内容 将两个多位十进制数相加 要求被加数和加数均以 ASCII 码形式各自顺序存放 在 DATA1 和 DATA2 为首的 5 个内存单元中 结果送回 DATA1 处 三 程序框图三 程序框图 图 1 1 两个多位十进制相加程序流程图 四 程序清单四 程序清单 DISPMACRO X MOVDL X 要显示的字符送 DL 寄存器 MOVAH 02H DOS 功能调用号是 02H INT21H 21H 中断程序是 DOS 功能调用 ENDM DATASEGMENT DATA1 DB 12732 DATA2 DB 06815 2 NEQU DATA2 DATAENDS STACK SEGMENT STACK STADB 20 DUP TOPEQU STA STACK ENDS CODESEGMENT ASSUME CS CODE DS DATA SS STACK ES DATA START MOV AX DATA MOVDS AX MOVAX STACK MOVSS AX MOVAX TOP MOVSP AX LEASI DATA1 MOVBX 0 MOVCX N CALLDISPL 显示被加数 DISP LEASI DATA2 MOVBX 0 MOVCX N CALLDISPL 显示加数 DISP LEADI DATA1 MOVCX N CALLADDA 调用加法子程序 LEASI DATA1 MOVBX 0 MOVCX N CALLDISPL 显示运算结果 DISP0DH DISP0AH MOVAX 4C00H INT21H DISPLPROC 显示子程序 DS1 MOVAH 02H MOVDL SI BX INT21H INCBX LOOPDS1 3 RET DISPLENDP ADDAPROC 加法子程序 PUSHCX MOVBX 0 AD1 SUB BYTE PTR SI BX 30H SUB BYTE PTR DI BX 30H INCBX LOOPAD1 POPCX PUSHCX MOVBX N 1 CLC AD2 MOVAL SI BX ADCAL DI BX AAA MOV DI BX AL DECBX LOOPAD2 POPCX PUSHCX MOVBX 0 AD3 ADD BYTE PTR DI BX 30H INCBX LOOPAD3 POPCX RET ADDAENDP CODEENDS ENDSTART 五 调试步骤五 调试步骤 1 编辑源程序 建立一个以后缀为 ASM 的文件 2 汇编源程序 检查程序有否错误 有错时回到编辑状态 修改程序中错误行 无 错时继续第 3 步 3 连接目标程序 产生可执行程序 4 TDEBUG 调试可执行程序 记录数据段 DS 0 DS 10 的内容 进入 TDEBUG 程序后 执行程序至星号处DS 0H DS 0AH 的内容 CS 000FH 31 32 37 33 32 30 36 38 31 35 CS 0076H 01 02 07 03 02 00 06 08 01 05 4 CS 0086H 01 09 05 04 07 00 06 08 01 05 CS 0090H 31 39 35 34 37 00 06 08 01 05 5 在操作系统状态下 运行程序 并记录屏幕显示内容 被 加 数加 数屏 幕 显 示 内 容 127320681519547 107324369154423 650871763182718 六 思考题六 思考题 1 将上述程序改为 5 位数相加 结果为 6 位数的加法程序 需考虑进位 新的程序清单 DISPMACRO X MOVDL X 要显示的字符送 DL 寄存器 MOVAH 02H DOS 功能调用号是 02H INT21H 21H 中断程序是 DOS 功能调用 ENDM DATASEGMENT DATA1 DB 82732 修改后的 5 位数 相加为 6 位数 DATA2 DB 36815 NEQU DATA2 DATAENDS STACK SEGMENT STACK STADB 20 DUP TOPEQU STA STACK ENDS CODESEGMENT ASSUME CS CODE DS DATA SS STACK ES DATA START MOV AX DATA MOVDS AX MOVAX STACK MOVSS AX MOVAX TOP MOVSP AX LEASI DATA1 MOVBX 0 MOVCX N 5 CALLDISPL 显示被加数 DISP LEASI DATA2 MOVBX 0 MOVCX N CALLDISPL 显示加数 DISP LEADI DATA1 MOVCX N CALLADDA 调用加法子程序 LEASI DATA1 MOVBX 0 MOVCX N CALLDISPL 显示运算结果 DISP0DH DISP0AH MOVAX 4C00H INT21H DISPLPROC 显示子程序 DS1 MOVAH 02H MOVDL SI BX INT21H INCBX LOOPDS1 RET DISPLENDP ADDAPROC 加法子程序 PUSHCX MOVBX 0 AD1 SUB BYTE PTR SI BX 30H SUB BYTE PTR DI BX 30H INCBX LOOPAD1 POPCX PUSHCX MOVBX N 1 CLC AD2 MOVAL SI BX ADCAL DI BX AAA MOV DI BX AL DECBX 6 LOOPAD2 POPCX PUSHCX MOVBX 0 AD3 ADD BYTE PTR DI BX 30H INCBX LOOPAD3 POPCX RET ADDAENDP CODEENDS ENDSTART 2 简单叙述上机步骤 调试方法 上机步骤及调试 编写代码完成功能要求 文件格式为 asm 文件 如文件名为 a asm 将文件放 入带汇编工具的文件夹中 即含有汇编工具 MASM EXE 和链接工具 LINK EXE 的文件 夹 打开运行窗口 输入 cmd 然后确定 启动命令行 进入上述文件夹 输入 tasm a asm 回车后编译产生 a obj 文件 再输入 link a obj 回车后链接产生 a exe 文件 最后输入 a exe 回车后运行结果如图 1 7 图 1 运行结果 如果程序有错误 编译时会产生错误提示 指出错误的位置和错误类型及错误码 改 正错误后再重新编译链接 直到没有错误和编译链接成功 启动 TD 并载入 add exe 在代码段可以看到程序指令 部分符号已被实际地址或 数值替换表示 查看数据区的数值 右击选择数据区的菜单中的 Goto 在其输入框内输入要查看的数据区地址 如 cs 000FH 如图 2 和图 3 回车确认后即可查看数据区从段地址为 CS 偏移地址为 000FH 开始的存储情况 图 2 goto 8 图 3 找到 CS 字段 设置断点 5 选中 cs 000FH 段 然后运行菜单栏 Breakpoints 在该处设置断点 断点设置完成后再运行程序 查看 DS 6 同样用 Goto 找到想要查看的 DS 图 4 找到对应的 DS 记录 DS 7 9 10 注意注意 1 将源代码部分直接拷贝到文本文件中 再将其扩展名改为 asm 2 使用个人主页中的汇编语言编译器 TASM EXE 或 MASM EXE 之一均可 将 1 中的 源文件编译成扩展名为 obj 的目标文件 再将其链接成为可执行文件 使用 TLINK EXE 文件或 LINK EXE 文件之一均可 例如 假设源文件名为 temp
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026秋季国家管网集团建设项目管理公司高校毕业生招聘笔试参考题库(浓缩500题)及答案详解(名校卷)
- 2026秋季国家管网集团工程技术创新公司(国家管网集团造价管理中心)高校毕业生招聘考试备考题库(浓缩500题)带答案详解(巩固)
- 国家管网集团山东分公司2026届秋季高校毕业生招聘考试参考试题(浓缩500题)含答案详解(满分必刷)
- 国家管网集团2026届高校毕业生招聘笔试备考试题(浓缩500题)及参考答案详解(突破训练)
- 2026国网甘肃省电力公司高校毕业生提前批招聘(约450人)笔试备考题库浓缩500题含答案详解(精练)
- 2026国家能源投资集团有限责任公司高校毕业生统招考试参考试题(浓缩500题)带答案详解(综合卷)
- 2026国网天津市电力公司高校毕业生提前批招聘(约450人)笔试备考题库浓缩500题含答案详解(b卷)
- 2026秋季国家管网集团甘肃公司高校毕业生招聘考试备考试题(浓缩500题)附答案详解
- 2026国网云南省电力校园招聘(提前批)笔试模拟试题浓缩500题及参考答案详解1套
- 2026秋季国家管网集团福建公司高校毕业生招聘笔试参考题库(浓缩500题)及答案详解(名师系列)
- 机械原理 潘存云课件 第9章 组合机构
- 医嘱执行制度
- 陪护人员误工证明
- 2022年乌鲁木齐市沙依巴克区政务中心综合窗口人员招聘笔试试题及答案解析
- GB/T 41855-2022小型游乐设施转椅
- GB/T 15051-1994针刺地毯
- GB/T 12970.1-2009电工软铜绞线第1部分:一般规定
- 五年级上册数学苏教版周周练试题周周测(含答案)
- 投资估算学校范本
- 跳远成绩记录表
- 国家示范性高职院校及重点专业
评论
0/150
提交评论