网站大量收购独家精品文档,联系QQ:2885784924

实验六汇编语言程序上机过程.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验六汇编语言程序上机过程

实验六 汇编语言程序的上机过程 d:\hb2 MASM.exe LINK.exe CREF.exe 一. 实验目的: 1.熟悉IBM PC汇编语言的上机几个阶段。 2.通过一个简单的程序实例,掌握汇编语言的编辑、汇编、连接以及DEBUG调试的全过程 二.实验内容:把40个字母a的字符串从源缓冲区传送到目的缓冲区 三.实验设备:IBM PC机,DOS或WINDOWS, MASM程序,LINK程序 DEBUG程序 四.实验过程: 1. 建立ASM文件 用EDIT编辑程序在磁盘上建立源程序ex6.asm data segment ; 定义一个数据段 source_buffer db 20 dup(‘c’) data ends extra segment; 定义另一个数据段 dst_buffer db 20 dup(?) extra ends prognam segment; 定义一个程序段 main proc far assume cs:prognam,ds: data ,es:extra start: push ds sub ax,ax push ax mov ax,data mov ds,ax ;将data段的首地址装入DS mov ax,extra mov es,ax ;将extra段的首地址装入ES lea si,source_buffer ;将源缓冲区的起始偏移地址装入SI lea di,dst_buffer ;将目的缓冲区的起始偏移地址装入DI cld ;设置方向标志DF mov cx,20 ;设置计数器CX rep movsb ;传输数据串 ret ;返回DOS main endp prognam ends end start ; 结束汇编,程序的起点是start 2.用MASM程序产生OBJ文件 在保存MASM程序的目录下键入: D:\hbmasm ex6.asm 操作与汇编程序回答如下: Object filename [EX6.OBJ]: Source listing [NUL.LST]: ex6.lst Cross-reference [NUL.CRF]: ex6.crf 3.用LINK 程序产生EXE文件 键入D:\hblink ex6.obj Run File [EX6.EXE]: List File [NUL.MAP]: Libraries [.LIB]: 4.程序的执行 可以在DOS下直接执行的得到的ex6.exe文件了。 D:\hbex6.exe 5.程序的调试: 执行 debug ex6.exe命令: D:\hbdebug ex6.exe (1)在debug 命令提示符“-”下键入 U命令,查看程序在主存中的物理地址,显示如下: -u 1434:0000 1E PUSH DS 1434:0001 2BC0 SUB AX,AX 1434:0003 50 PUSH AX 1434:0004 B82E14 MOV AX,142E 1434:0007 8ED8 MOV DS,AX 1434:0009 B83114 MOV AX,1431 1434:000C 8EC0 MOV ES,AX 1434:000E 8D360000 LEA SI,[0000] 1434:0012 8D3E0000 LEA DI,[0000] 1434:0016 FC CLD 1434:0017 B92800 MOV CX,0028 1434:001A F3 REPZ 1434:001B A4 MOVSB 1434:001C CB RETF 程序是以RETF结束,可以看到程序从1434:0000到1434:001C。code、data 、extra段地址分别为什么? (2)用D命令分别查看data段和extra段中的内容 -d 142E:0000 L16 -d 1431:0000 L16 (3)用G命令执行这一段程序 -g=1434:0000 1434:001C (

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档