- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汇编实验报告139074175
汇编语言实验报告
姓名:周文杰
班级:软131班
学号:139074175
实验一:汇编语言运行环境及方法、简单程序设计
一、程序说明
本程序用来比较两个字符串string1和string2所含的字符是否相同。若相同则显示‘Match’,否则显示‘Nomatch’。
在程序的数据段先定义两个字符串string1和string2,再定义两个字符串mess1和mess2,分别代表‘Match’和‘Nomatch’。再代码段比较字符串string1和string2,通过比较判断是否相同。若相同则显示‘Match’,否则显示‘Nomatch’。
二丶实验步骤
(1)用记事本建立cmps.asm文件,并将其存在masm5文件夹
源代码如下:
DATA SEGMENT
STRING1 DB Move the cursor backward.
STRING2 DB Move the cursor backward.
mess1 db match.,10,13,$
mess2 db no match.,10,13,$
DATA ENDS
code segment
main proc far
assume cs:code,ds:DATA,es:DATA
start:mov ax,DATA
mov ds,ax
mov es,ax
lea si,STRING1
lea di,STRING2
cld
mov cx,25
repz cmpsb
jz match
lea dx,mess2
jmp short disp
match:lea dx,mess1
disp:mov ah,9
int 21h
mov ah,4ch
int 21h
ret
main endp
code ends
end start
(2)用汇编程序masm对源文件汇编产生目标文件obj,截屏如下:
(3)用连接程序link产生执行文件exe,截屏如下:
(4)执行程序,截屏如下:
至此程序已调试完毕,运行结果正确。下面用debug程序来调试程序,截屏如下:
①用g命令运行程序,截屏如下:
②用u命令显示程序,以便了解指令地址,截屏如下:
③用g0b指令将端点设置程序的主要部分以前,截屏如下:
④根据上面截图指示的ds寄存器内容用d0指令查看数据段,截屏如下:
⑤可用e命令修改数据区的字符串,截屏如下:
最后g命令运行程序,会发现两个字符串不再相等,截屏如下:
⑥用q命令退出debug程序
三丶实验总结
用-g命令来用运行程序,用-u命令来显示程序,用-d 命令来查看数据段的情况,用-e或-f命令来修改需要改正的部分,用-t指令来逐步执行程序,用-r指令来查看寄存器和修改寄存器的值,-q命令用来退出debug程序。在这些命令的后面加上地址,可以将命令执行到相应的地方。
实验
程序运行成功。
第二部分先将基本的程序结构编好,再进入debug程序,先用-u指令查看一下程序,结果如下:
再用-a指令从13FC:000B后面输入已给出的程序,然后用-u0指令查看程序,结果如下
这时可以先用-t指令将程序逐步执行到指令mov ax,bx之前,然后用-e300指令安要求修改相关的内存内容,再用-d300指令查看一下修改后的内存内容,结果如下:
然后再用-t指令逐步执行程序,观察每步指令执行后,ax中的内容,结果如下:
可以看出,在执行完指令MOV AX,BX后,ax中的内容为AX=0300,在执行完指令MOV AX,0304H后,ax中的内容为AX=0304,在执行完指令MOV AX,[0304H] 后,ax 中的内容为AX=580E,在执行完指令MOV AX,[BX] 后,ax中的内容为AX=0B0A,在执行完指令MOV AX,0001[BX] 后,ax中的内容为AX=0C0B,在执行完指令MOV AX,[BX][SI]后,ax中的内容为 AX=0D0C,在执行完指令MOV AX,0001[BX][SI] 后,ax中的内容为 AX=0E0D,这样的结果应该和我们预期的一样。
第一部分的源程序:
DATAS SEGMENT
DATAS ENDS
STACKS SEGMENT
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
您可能关注的文档
- 微机实验-指导书.doc
- 计算机组成实验课实验指导书.doc
- 汇编语言调试DEBUG命令详解.doc
- 汇编语言---子程序设计.ppt
- 微机原理实验标准实验报告.doc
- 微机原理课件 第5章8086汇编语言.ppt
- 汇编语言第3章3 80x86的指令系统和寻址方式2(3.2.3 位操作类指令).ppt
- 微机原理与接口技术实验2010.doc
- 微机原理及应用实验讲义-自动化、成型、Q测控.doc
- Debug如何 调试汇编程序.docx
- 2024年中国钽材市场调查研究报告.docx
- 2024年中国不锈钢清洗车市场调查研究报告.docx
- 2024年中国分类垃圾箱市场调查研究报告.docx
- 2024年中国水气电磁阀市场调查研究报告.docx
- 2024年中国绿藻片市场调查研究报告.docx
- 2010-2023历年初中毕业升学考试(青海西宁卷)数学(带解析).docx
- 2010-2023历年福建厦门高一下学期质量检测地理卷.docx
- 2010-2023历年初中数学单元提优测试卷公式法(带解析).docx
- 2010-2023历年初中毕业升学考试(山东德州卷)化学(带解析).docx
- 2010-2023历年初中毕业升学考试(四川省泸州卷)化学(带解析).docx
最近下载
- 现代西班牙语学生用书1目录.pdf
- 中山农村商业银行股份有限公司2021年小型微型企业贷款专项金融债券信用评级报告.pdf
- 设备采购、运输方案、设备安装调试、设备巡检、产品售后、安装类设备253页.doc VIP
- 《技规教案》课件.ppt
- 初中历史_中华民国的创建教学设计学情分析教材分析课后反思.doc
- H7车组合仪表内部参数调节方法 (1).pdf VIP
- 重汽豪沃(HOWO)T5G SAC仪表、驾驶室过度线针脚定义驾驶室电器部件讲解.pdf VIP
- T5T7NanoBCU TFT仪表服务站维修培训手册.pdf VIP
- 钢琴谱学习Parla Piu Piano 降E-降G.pdf
- T7H TFT仪表、NanoBCU系统简介.ppt VIP
文档评论(0)