汇编语言实验报告一

上传人:飞*** 文档编号:43829929 上传时间:2018-06-07 格式:DOC 页数:3 大小:22.50KB
返回 下载 相关 举报
汇编语言实验报告一_第1页
第1页 / 共3页
汇编语言实验报告一_第2页
第2页 / 共3页
汇编语言实验报告一_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《汇编语言实验报告一》由会员分享,可在线阅读,更多相关《汇编语言实验报告一(3页珍藏版)》请在金锄头文库上搜索。

1、 汇编语言实验报告(实验一)一. 实验目的 1.掌握汇编语言程序的上机步骤; (1) 用编辑程序(如 EDIT、记事本等)编辑汇编语言源程序(建立 .ASM 文件) 。(2) 用 MASM 程序产生 OBJ 文件。 (3) 用 LIINK 程序产生 EXE 文件。 (4) 程序的运行(用 DEBUG 或在 DOS 下直接运行) 。 2.掌握 DEBUG 的使用方法。 二. 程序说明 1 在数据段 DATA 中有两个数据 X 和 Y,假设 X=1122H,Y=3344H,编程求两 个字的和,结果存放到 Z 单元中。 2 从 SOURCE_BUFFER 单元开始存放了 20 个字母 A,编程将这个

2、 20 个字母 A 的字符串传送到 DEST_BUFFER 开始的单元中。 3 从 SOURCE_BUFFER 单元开始存放了 20 个字母 A,编程将这个 20 个字母 A 的字符串向下移 10 个单元。 三. 设计思想 1、 将 1122H 和 3344H 分别存放在双字 x,y 中,定义双字 Z,x,y 带进位相加放入 Z 中。2、 定义数据段 source_buffer,把数据段地址放入 ds 寄存器,定义附加段 extra_buffer,把 附加段地址放入 es 寄存器,移动整个字符串。 3、 定义数据段附加段,先移高位,这样要移 20 次。四. 程序代码 1、 DATA SEGME

3、NT X DW 1122H Y DW 3344H Z DW ? DATA ENDS ;数据段定义结束数据段定义结束 STACK SEGMENT ;堆栈段定义开始堆栈段定义开始DW 40 DUP(0) STACK ENDS ;堆栈段定义结束堆栈段定义结束 CODE SEGMENT ;代码段定义结束代码段定义结束ASSUME CS:CODE,SS:STACK,DS:DATA START: MOV AX,DATAMOV DS,AX ;设置数据段的开始地址设置数据段的开始地址MOV DX,XADC DX,YMOV Z,DXMOV AH,4CH ;返回返回 DOCINT 21H CODE ENDSEND

4、 START 2、 DATA SEGMENT ;定义数据段定义数据段SOURCE_BUFFER DB 20 DUP(a) ;定义个小写定义个小写 a DATA ENDS EXTRA SEGMENT ;定义附加段定义附加段 DEST_BUFFER DB 20 DUP(?) EXTRA ENDS CODE SEGMENT ;定义代码段定义代码段 MAIN PROC FAR ASSUME CS:CODE,DS:DATA,ES:EXTRA START: PUSH DS SUB AX,AX PUSH AX MOV AX,DATA MOV DS,AX MOV AX,EXTRA MOV ES,AX LEA

5、SI,SOURCE_BUFFER LEA DI,DEST_BUFFER CLD MOV CX,20 REP MOVSB ;移动整个串移动整个串 RET ;返回到返回到 DOS MAIN ENDP CODE ENDS END START3、 DATA SEGMENT ;定义数据段定义数据段SOURCE_BUFFER DB 20 DUP(a) ;定义个小写定义个小写 a DATA ENDS EXTRA SEGMENT ;定义附加段定义附加段 DEST_BUFFER DB 20 DUP(?) EXTRA ENDSCODE SEGMENT ;定义代码段定义代码段 MAIN PROC FAR ASSUM

6、E CS:CODE,DS:DATA,ES:EXTRA START: PUSH DS SUB AX,AX PUSH AX MOV AX,DATA MOV DS, AX MOV AX, EXTRA MOV ES, AX LEA SI, SOURCE_BUFFER LEA DI,DEST_BUFFER CLD MOV CX,20 REP MOVSB ;移动整个串移动整个串 RET ;返回到返回到 DOS MAIN ENDP CODE ENDS END START五. 结果分析并回答: 1 设计的程序包含了几个段第第 1 段包含数据段、堆栈段、代码段段包含数据段、堆栈段、代码段 第第 2、3 个包含数

7、据、附加段、代码段个包含数据、附加段、代码段 2 你的代码经过编译和连接之后,总共占用多少个字节 第第 1、2 个占个占 30 个字节,第个字节,第 3 个占个占 32 个字节个字节 3 调用 DEBUG 进行反汇编,查看程序的第一条指令的地址码是多少?最后一 条指令的地址码是多少? 程序 1 第一条指令:1454:000 BB4B14 MOV AX,144B 最后一条指令:1451:001E 807F0400 CMP BYTE PTR BX+04,00程序 2 第一条指令:1450:0000 1E PUSH DS 最后一条指令:1450:001E 8B0? MOV AX,BX程序 3 第一条指令:144D:0000 1E PUSH DS 最后一条指令:144D:0020 8B5702 MOV DX,DX+02

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号