预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共17页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

实验一汇编语言上机实验 实验目的: 1、学习及掌握汇编语言源程序的书写格式和要求。 2、学会使用EDIT、MASM、LINK、DEBUG等软件工具。 3、熟练掌握在计算机上编辑、汇编、连接及运行汇编语言程序的方法。 实验仪器: 1、微型计算机一台(带DOS或WINDOWS操作系统) 2、MASM开发套件 实验原理: 1、调试程序DEBUG能进行汇编程序调试。 2、DOS功能调用 为了使用方便,将DOS层功能模块所提供的88个子程序统一顺序编号从00H到57H。DOS系统功能调用方式如: (1)将子程序编号送入AH寄存器; (2)置入口参数; (3)执行中断指令:INT21H。 实验步骤: 通过DEBUG编写、运行汇编程序 DEBUG程序的启动 在DOS操作系统状态下,可直接调入DEBUG程序,键入命令格式如下: A或C>DEBUG[d:][path][filename[.exe] 在启动DEBUG时,如果输入了文件名(filename),则DEBUG程序把指定文件装入内存。 (2)键入程序并汇编 用DEBUG的A命令送入程序(下划线部分为程序员输入部分): E:\huibian>debug↙ -a↙ 1387:0100moval,32↙ 1387:0102movdl,34↙ 1387:0104adddl,al↙ 1387:0106subdl,30↙ 1387:0109movah,2↙ 1387:010Bint21↙ 1387:010Dint20↙ 1387:010F↙ - (要求学生截图) 当键入A命令时,自动产生所送内存单元的段地址和偏移地址。通过偏移地址可以看到每条指令占有内存单元多少个字节,当程序段键完后,只键入回车键,就退出汇编状态,回到DEBUG状态‘—’。其中送入数据为十六进制数,不需要键入H。 将汇编程序段存入磁盘,其中‘e1’为文件名。 -ne1↙ -rcx↙ CX0000 :000d↙ -w↙ Writing0000Dbytes↙ - (要求学生截图) 反汇编 可以用反汇编U命令将键入的程序调出,并且可以得到每条汇编指令的机器码。 -u10010d↙ 1387:0100B032MOVAL,32 1387:0102B234MOVDL,34 1387:010400C2ADDDL,AL 1387:010680EA30SUBDL,30 1387:0109B402MOVAH,02 1387:010BCD21INT21 1387:010DCD20INT20 - (要求学生截图) 执行程序 用DEBUG的G命令执行刚刚汇编的程序: -g=10010d↙ 6 AX=0236BX=0000CX=000DDX=0036SP=FFEEBP=0000SI=0000DI=0000 DS=1387ES=1387SS=1387CS=1387IP=010DNVUPEIPLNZNAPENC 1387:010DCD20INT20 (要求学生截图) -退出DEBUG返回DOS状态,输入q命令,回车。 -q↙ E:\huibian> 在屏幕上显示“Hello,world!” 设定源程序的文件名为ABC.ASM。文件中的程序为: DATASEGMENT BUFDB'Hello,world!$' DATAENDS STACKSEGMENTSTACK DW36DUP(?) STACKENDS CODESEGMENT ASSUMECS:CODE,DS:DATA,SS:STACK START:MOVAX,DATA MOVDS,AX MOVDX,OFFSETBUF MOVAH,9 INT21H MOVAH,4CH INT21H CODEENDS ENDSTART (2)、在DOS状态下键入以下命令:C:\MASM>EDITABC.ASM 此时屏幕的显示状态如下图所示。 进入EDIT后,屏幕的第一行是菜单栏。可以选用Alt键激活菜单,然后用光标和回车键选择所需功能项,在弹出下拉菜单中选择所需功能,或按Esc键退出菜单选择,用File主菜单下的“Save”存盘功能保存文件。最后通过选择File菜单下的Exit项退出EDIT编辑环境。 (3)将源程序文件汇编成目标程序文件 C:\MASM>MASMABC.ASM 源程序建立以后,在DOS状态下,采用宏汇编程序MASM对源程序文件进行汇编,屏幕显示如下图。 (4)用连接程序生成可执行程序文件 经汇编以后产生的目标程序文件(.OBJ文件)并不是可执行程序文件,必须经过连接以后,才能成为可执行文件(即扩展名为.EXE)。 C:\MASM>LINKABC 连接过程如下图所示。 (5)程序的执行 当我们建立了正确的可执行文件