微机原理汇编语言的上机过程 实验报告

合集下载

微机原理与汇编语言实验报告

微机原理与汇编语言实验报告

微机原理与汇编语言实验报告学号:********班级:*****姓名:*****指导教师:*****一.实验目的1.通过上机实验进一步熟悉并掌握汇编语言的指令系统和寻址方式;2.熟悉汇编语言程序上机的流程,以及与实验有关的系统软件(如编辑程序、汇编程序、连接程序和调试程序等)3.学习汇编程序设计的基本方法和技能,熟练掌握用汇编语言设计、编写、调试和运行程序的方法4.能够独自编写,调试,并成功运行一个完整的程序。

二.实验内容与步骤1.掌握汇编语言程序上机过程首先,新建文本文档后将扩展名改为.ASM,这是汇编语言源程序的文件格式,以记事本形式打开后在其中键入所编写的程序。

第一次题目是在屏幕上显示一串字符串,在老师的指导下,编写的程序如下:data segmentnote db 'hello','$'data endscode segmentmain proc farassume cs:code,ds:data,es:datastart:push dssub ax,axpush axmov ax,datamov ds,axmov es,axmov ah,09hlea dx,noteint 21hmain endpcode endsend start之后,要进行编译和运行。

源程序经过翻译程序成为机器能够识别的目标程序,目标程序再经过连接程序连接后转换成在机器上可执行的程序。

基本流程图如下:在编译的过程中,程序查出的主要是语法上的错误,如果有错,则不能通过汇编,要纠错后重新汇编直到无错为止。

最后,生成的.EXE文件即为可执行文件,从磁盘调入内存运行,得到运行结果。

上述程序的运行结果为在屏幕上显示出“hello”。

2.编程完成任意两个两位数的加法运算编程任务的基本要求为:从键盘输入任意两个两位数相加,将结果显示在屏幕上。

刚开始拿到题目后,头脑里是比较混乱的。

经过与同学的探讨之后,我们大概确定出要完成整个功能,需经过以下过程:将输入的ASCII码与十进制数值进行转换,并保存在寄存器中;通过调用程序将两个数相加,并将结果保存;将结果显示在屏幕上。

微机原理汇编语言上机实验报告

微机原理汇编语言上机实验报告

微机原理汇编语言上机实验报告-CAL-FENGHAI.-(YICAI)-Company One1第三次上机实验报告一.实验目的1.熟练掌握汇编语言程序设计的方法及上机步骤。

2.掌握算术运算指令的应用。

3.掌握子程序的设计方法。

4.掌握DOS功能的调用方法。

二.实验仪器586微机一台三.实验内容有一个首地址为A的N字数组,请编程序使该数组中的数按从大到小的次序排列。

编程要求及提示:[1] 参加排序的数据及个数由学生自己定义。

[2] 要将排序前的数组和排序后的数组在屏幕上显示出来。

四.给出实验内容对应的源程序及流程N = 50STACK SEGMENT STACK 'STACK'DW 100H DUP()TOP LABEL WORDSTACK ENDSDATA SEGMENTDATABUF DW NDB N DUP()ORIGINAL DB 13,10,13,10,'THE ORIGINAL DATA:$'ORDERED DB 13,10,10,13,'THE ORDERED DATA:$'DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART:MOV AX,DATAMOV DS,AXMOV ES,AXMOV AX,STACKMOV SS,AXLEA SP,TOP;随机数据MOV CX,DATABUFLEA SI,DATABUF+2MOV BL,12MOV AL,14L:MOV [SI],ALINC SIADD AL,BLLOOP LLEA DX ,ORIGINALMOV AH,9INT 21HCALL DISPAL;下面给数据排序程序MOV CX,DATABUFDEC CXLEA SI,DATABUF+2ADD SI,CX; SI指向数据区末地址L1:PUSH CXPUSH SIL2:MOV AL,[SI]CMP AL,[SI-1]JBE NOXCHGXCHG AL,[SI-1]MOV [SI],ALNOXCHG:DEC SILOOP L2POP SIPOP CXLOOP L1LEA DX,ORDEREDMOV AH,9INT 21HCALL DISPALEXITPROC:MOV AH,4CH;结束程序MOV AH,1INT 21HDISPAL PROC NEARPUSH AXPUSH BXPUSH CXPUSH DXPUSH DILEA DI,DATABUF+2MOV CX,NDISPAL2:MOV AL,[DI]SHR AL,1SHR AL,1SHR AL,1SHR AL,1CALL CHANG ;------------------------------------------------MOV AH,2MOV DL,ALINT 21HMOV AL,[DI]AND AL,0FHCALL CHANG;-------------------------------------------------MOV AH,2MOV DL,ALINT 21HMOV AH,2MOV DL,20HINT 21H ;为了让结果看得清楚,让显示的数用空格空开 INC DILOOP DISPAL2POP DIPOP DXPOP CXPOP BXPOP AXRETDISPAL ENDPCHANG PROC NEARCMP AL,10JNGE CHANG1ADD AL,7CHANG1:ADD AL,30HRETCHANG ENDPCODE ENDSEND START五.实验心得在实验过程中出现了类型不匹配的错误,归根结底还是对知识的掌握熟悉度不够;再者由于初次上机编写一个完整的汇编程序难免会出现这样或那样的问题,但在老师和同学的帮助下最终完成了这个程序的编写运行调试,收获颇丰。

微机原理实验报告参考

微机原理实验报告参考

实验一汇编语言程序上机过程练习1.实验目的掌握汇编语言程序上机的步骤,掌握汇编语言程序编辑、汇编、连接、运行、调试的方法。

2.实验内容:输入老师提供的汇编语言源程序,完成汇编、连接、运行、调试过程。

3.实验步骤:(1)、上机环境的准备在资源管理器中,在d盘上新建自己的文件夹zhangsan(备注:请把zhangsan替换成你自己的文件夹名,用英文字母命名,并且名字长度不超过8个字符)。

把机器上的masm.exe和link.exe等文件拷到该文件夹内。

(2)、上机过程①切换工作路径:打开命令提示符窗口、转到d盘、切换我的文件夹为当前路径②把老师提供的源程序用记事本(或者EDIT)输入到机器内,保存为扩展名为.asm的文本文件。

③用汇编程序MASM对源程序进行汇编,如果源程序有错误则修改,直到汇编通过,生成扩展名为OBJ的二进制的目标文件。

④用连接程序LINK对上面生成的二进制目标文件进行连接,有错误则修改源程序,重新进行汇编、连接,直到连接成功生成扩展名为EXE的可执行文件。

⑤在DOS提示符下运行可执行文件。

屏幕上显示“Hello Word!”⑥用DEBUG对可执行文件进行调试。

4.附源程序:DATA SEGMENTMSG DB 'HELLO WORLD!$'DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXLEA DX,MSGMOV AH,09HINT 21HMOV AH,4CHINT 21HCODE ENDSEND START实验二汇编语言程序设计练习1.实验目的(1)掌握汇编语言程序设计的基本步骤,分析问题,确立算法,画出程序流程图。

说明流程图中各功能的含义和表示法。

分配工作单元和存储空间。

根据程序算法流程选择合适的指令编制汇编语言源程序。

(2)掌握顺序程序的设计基本方法和技巧。

(3)掌握分支程序设计的方法,重点掌握各种分支程序中形成和判断条件而产生的程序段的设计方法和技巧。

微机原理实验报告_2

微机原理实验报告_2

实验一汇编语言的编译、链接和调试一、实验目的1、学会使用masm对汇编源程序进行编译、链接、调试、运行。

2、掌握汇编语言的程序格式。

3、巩固所学的汇编语言指令。

二、实验环境1、硬件:PC 微机2、软件:宏汇编MASM 软件三、实验原理1、汇编语言程序的上机与处理过程2、汇编语言的程序格式(1)汇编程序一般由若干段组成,每个段都有一个名字,以SEGMENT作为段的开始,以ENDS作为段的结束,这两者前要冠以相同的名字作为段名。

(2)代码段和堆栈段必不可少,数据段和附加段可根据需要设置。

堆栈段的SEGMENT之后有关键字STACK。

代码段中有伪指令ASSUME告诉汇编程序,在各种指令执行时所要访问的各段寄存器将分别对应哪一段。

(3)源程序的每一段是由若干行汇编语句组成,每一行只有一条语句,且不能超过128个字符,但一条语句允许有后续行,最后均以回车结束。

(4)整个源程序必须以END语句结束,它通知汇编程序停止汇编。

四、实验内容进入DOS环境中相应的目录下。

如汇编软件的文件来为:D:\MASM,则对应的操作为(1)选择windows的“开始”→“程序”→“附件”→“命令提示符”(2)在DOS命令提示符下输入如下命令(其中带下划线部分为输入内容)。

C:\Documents and Settings\new>D:D:\>CD MASMD:\MASM>EDIT TEXT.ASM进入编辑程序,在其环境下输入编好的源程序,然后在盘上生成一个扩展名为.asm的文件。

程序示例DATA SEGMENTDA1 DB 10H,20H,30H,40HDA2 DB 0F0H,0B0H,0A0H,90HDA3 DB 00H,00H,00H,00HDATA ENDSSTACK1 SEGMENT PARA STACKDB 10 DUP(?)STACK1 ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK1START: MOV AX,DATAMOV DS,AXMOV AL,[DA1]ADD AL,[DA2]MOV [DA3],ALMOV AL,[DA1+1]ADC AL,[DA2+1]MOV [DA3+1],ALMOV AL,[DA1+2]ADC AL,[DA2+2]MOV [DA3+2],ALMOV AL,[DA1+3]ADC AL,[DA2+3]MOV [DA3+3],ALCODE ENDSEND START3. 用宏汇编程序MASM,将扩展名为.ASM的源程序汇编成目标程序,即生成盘上扩展名为.OBJ的文件。

汇编上机实验报告

汇编上机实验报告

汇编上机实验报告实验目的:通过进行汇编语言上机实验,掌握汇编语言的基本语法和编程技巧,培养汇编程序设计能力。

实验内容:实验一:汇编程序的简单输入输出1.编写一个汇编程序,要求从键盘输入两个整数,然后将其相加,并将结果输出到屏幕上。

2. 利用调试器(如DOSBox或emu8086)执行并调试程序,观察程序运行过程和实际输出结果。

实验二:汇编程序的条件跳转1.编写一个汇编程序,要求从键盘输入一个整数,判断其是否大于10,若是,则将其打印到屏幕上;否则,将其乘以5并打印到屏幕上。

2. 利用调试器(如DOSBox或emu8086)执行并调试程序,观察程序运行过程和实际输出结果。

实验三:汇编程序的循环1.编写一个汇编程序,要求计算1到10的累加和,并将结果打印到屏幕上。

2. 利用调试器(如DOSBox或emu8086)执行并调试程序,观察程序运行过程和实际输出结果。

实验四:汇编程序的数组操作1.编写一个汇编程序,要求定义一个长度为10的数组,并将数组中的值初始化为0,然后利用循环将数组中的每一个元素加1,并将每个元素的值打印到屏幕上。

2. 利用调试器(如DOSBox或emu8086)执行并调试程序,观察程序运行过程和实际输出结果。

实验结果:实验一:汇编程序的简单输入输出编写的汇编程序通过键盘输入两个整数,实现了相加并将结果输出到屏幕上的功能。

程序运行正常,输出结果与预期一致。

实验二:汇编程序的条件跳转编写的汇编程序通过键盘输入一个整数,根据条件判断,实现了将输入数大于10时打印在屏幕上,否则将其乘以5并打印在屏幕上的功能。

程序运行正常,输出结果与预期一致。

实验三:汇编程序的循环编写的汇编程序通过循环计算1到10的累加和,并将结果打印在屏幕上。

程序运行正常,输出结果与预期一致。

实验四:汇编程序的数组操作编写的汇编程序通过定义一个长度为10的数组,并将数组中的值初始化为0,利用循环将数组中的每一个元素加1,并将每个元素的值打印到屏幕上。

微机汇编语言上机环境及步骤实验报告

微机汇编语言上机环境及步骤实验报告

汇编语言上机环境及步骤实验题目:汇编语言上机环境及基本步骤实验类别:微机原理实验日期:年月日实验地点:指导教师:姓名:学号:专业:电子信息工程班级:组别一、实验目的:1.掌握编写汇编源程序的基本格式。

2.熟悉汇编语言上机环境。

3.掌握汇编源程序的编辑和修改,熟悉EDIT或记事本的使用方法。

4.掌握汇编源程序编译、连接成可执行文件的过程,熟悉MASM,LINK的使用方法。

二、实验内容:在屏幕上显示并打印字符串“This is a sample program.”三、实验仪器微机一台四、实验步骤:1.在E盘以自己的名字的汉语拼音建立一个工作目录(文件夹,名称不要太长,不超过8个字符比如zhangsan),将文件MASM.EXE,LINK.EXE复制到该目录下,编辑的源文件也保存到该目录下。

从WINDOWS进入DOS环境:C:\>2.用EDIT编辑SW1.ASM源文件。

(1). 从当前目录进入自己的目录下,C:\>E: 回车E:\> CD zhangsan ↙回车键入EDIT并回车:E:\ zhangsan>EDIT根据菜单提示进行各种操作。

(2)进入EDIT编辑------EDIT是一种全屏幕编辑软件,可输入、编辑、修改、保存、另存源程序非常方便。

说明:也可在WIDNDOWS环境下用记事本编辑源文件,在保存时,保存类型应选择所有文件,不能选择文本文件(*.txt),否则在编译时会找不到源文件的。

(3).编辑新文件:a、在EDIT编辑器中输入汇编源程序。

b、检查输入有无错误。

c、打开文件菜单FILE→选择另存为SA VE AS┅→输入文件名为:SW1.ASM→保存。

注意:保存到你自己的文件夹中d、若需要修改此文件,用FILE菜单→选择打开OPEN→输入文件名SW1.ASM,即可修改。

修改后注意重新再存盘。

(4).编辑汇编源程序a、在EDIT(或记事本)中输入源程序。

b、检查。

c、存盘。

四川大学微机原理实验报告

四川大学微机原理实验报告

微机原理实验报告学院:专业班级:姓名学号实验一汇编语言编程基础1.3汇编语言程序上机操作和调试训练一.功能说明运用8086汇编语言,编辑多字节非压缩型BCD数除法的简单程序,文件名取为*.ASM。

运用MASM﹒EXE文件进行汇编,修改程序中的各种语法错误,直至正确,形成*.OBJ文件。

运用LINK.EXE文件进行连接,形成*.EXE文件。

仔细阅读和体会DEBUG调试方法,掌握各种命令的使用方法。

运用DEBUG。

EXE文件进行调试,使用单步执行命令—T两次,观察寄存器中内容的变化,使用察看存储器数据段命令—D,观察存储器数据段内数值。

再使用连续执行命令—G,执行程序,检查结果是否正确,若不正确可使用DEBUG的设置断点,单步执行等功能发现错误所在并加以改正。

二.程序流程图三.程序代码修改后的程序代码如下:DATA SEGMENTA DB 9,6,8,7,5B DB 5C DB 5 DUP (0)N EQU 5DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATASTART: MOV AX,DATAMOV DS,AXMOV ES,AXCLDLEA SI,ALEA DI,CMOV CX,NMOV AH,0LP1: LODSBAADDIV BSTOSBLOOP LP1MOV CX,NLEA DI,CLP2: MOV DL,[DI]ADD DL,30HMOV AH,2INT 21HINC DILOOP LP2MOV AH,4CHINT 21HCODE ENDSEND START四.实验感想和收获通过这次试验,我对微机原理上级试验环境有了初步的认识,可以较为熟练地对汇编语言进行编译,汇编及连接,同时也学会了用DEBUG调试程序,收获很大。

在这次试验中我也遇到了一些困难。

在刚开始我发现自己无法打开MASM.EXE,计算机提示是由于版本不兼容。

我这才想起来我的操作系统是64位的,和该软件版本不兼容。

微机原理及应用-汇编语言上机实验报告

微机原理及应用-汇编语言上机实验报告

西南石油大学实验报告实验一一、实验目的熟悉汇编语言的上机过程,掌握各项工具软件的使用方法二、实验内容1.硬件:PC微机2.软件:DOS系统、EDIT.EXE、MASM.EXE、LINK.EXE、DEBUG.EXE三、实验过程1.前期准备:在开始进行汇编语言上机练习之前,建立并进入自己的工作子目录,准备好相关工具软件如MASM.EXE、LINK.EXE等,其后所有工作均在自己的子目录中进行,以避免因路径概念不清而导致的文件存取错误,以及对系统其它部分造成影响。

2.编写源程序:原则上可以用任何文字处理软件(如EDIT、写字板、甚至WORD)编写源程序,但必须注意,源程序应为ASCII码文件(或称纯文本文件),扩展名一般为.ASM。

因此,建议使用DOS环境下的EDIT软件。

3.汇编:利用MASM.EXE宏汇编程序,将已经存盘的ASCII码源程序翻译成二进制目标程序,其扩展名一般为.OBJ。

4.连接:利用LINK.EXE连接程序,将二进制目标程序整理成DOS系统下的可执行程序,其扩展名必须为.EXE。

5.运行:四、实验内容1、从键盘输入一个字符,进行大小写互换后显示。

源程序:结果:2、输入两个个位数字相加并显示结果。

代码:结果实验二一、实验目的:学习利用DEBUG调试程序的基本思想及方法二、实验环境:1.硬件:PC微机2.软件:DOS系统、EDIT.EXE、MASM.EXE、LINK.EXE、DEBUG.EXE三、实验内容与过程:利用DEBUG调试程序,可以将一个可执行程序(如.EXE、.COM等)装入内存中,并接管对程序运行的控制权,通过采取如反汇编、断点运行、单步执行、寄存器内容修改等方法,对可执行程序进行跟踪、调试,以找出其中的设计错误,然后再对源程序进行相应修改,重新生成正确的可执行程序。

1.准备被调试程序:假定所有有关文件均在当前路径C:\MYTEST>下,按照实验一的步骤生成一个被调试的可执行程序(如TEST.EXE)。

微机原理上机实验报告

微机原理上机实验报告

微机原理上机实验报告实验一基本输入/输出实验:本实验使8255端口A工作在方式0并作为输入口,端口B工作在方式0并作为输出口。

用一组开关信号接入端口A,端口B输出线接至一组数据灯上,然后通过对8255芯片编程来实现输入/输出功能。

8255基本输入/输出实验参考接线图如图所示。

流程图:操作步骤:按图示连好线路,在TDPIT中输入如下程序,编译、连接、运行。

DATA SEGMENTCS0 EQU 300OHMY8255_A EQU CS0+00HMY8255_B EQU CS0+01HMY8255_C EQU CS0+02HMY8255_MODE EQU CS0+03HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV DX,3003HMOV AL,10000010BOUT DX,ALTEST_IT:MOV DX,3001HIN AL,DXMOV DX,3000HOUT DX,ALJMP TEST_ITCODE ENDSEND START实验现象:闭合开关,对应控制灯泡发光。

实验二流水线指示灯显示实验:首先分别将A口和B口写入7FH和FEH,然后分别将该数右移和左移一位,在送到端口上,这样循环下去,从而实现流水灯的显示。

8255流水灯显示实验参考接线图如图所示。

流程图:操作步骤:按图示连好线路,在TDPIT中输入如下程序,编译、连接、运行。

DATA SEGMENTCSO EQU 3000HA EQU CSO+0000HB EQU CSO+0001HC EQU CSO+0002HM EQU CSO+0003HDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXXOR AX,AXMOV AL,10000000BMOV DX,MOUT DX,AL;MOV DX,B;IN AL,DXL1:MOV AL,00001000BMOV DX,AOUT DX,ALMOV AL,00000001BMOV DX,BOUT DX,ALMOV CX,00FFHC1: MOV BX,CXMOV CX,0FFFFHD1:LOOP D1MOV CX,BXLOOP C1MOV AL,00000100BMOV DX,AOUT DX,ALMOV AL,00000010BMOV DX,BOUT DX,ALMOV CX,00FFHC2: MOV BX,CXMOV CX,0FFFFHD2:LOOP D2MOV CX,BXLOOP C2MOV AL,00000010BMOV DX,AOUT DX,ALMOV AL,00000100BMOV DX,BOUT DX,ALMOV CX,00FFHC3: MOV BX,CXMOV CX,0FFFFHD3:LOOP D3MOV CX,BXLOOP C3MOV AL,00000001BMOV DX,AOUT DX,ALMOV AL,00001000BMOV DX,BOUT DX,ALMOV CX,00FFHC4: MOV BX,CXMOV CX,0FFFFHD4:LOOP D4MOV CX,BXLOOP C4JMP L1MOV AX,4C00HINT 21HCODE ENDSEND START实验现象:灯泡如流水般从左至右依次流动发光,并始终保持在同一时间只有一个灯亮着。

微机原理与汇编语言实验指导书

微机原理与汇编语言实验指导书

实验一显示程序[实验目的]1.掌握汇编语言程序上机的实验过程2.掌握显示程序的基本设计方法。

[实验原理]汇编语言上机过程1、建立汇编源程序(建立文件名.asm)(1)通过MD-DOS自带的EDIT.EXE文本编辑器进行输入和其它的文本编辑器进行录入、编辑,如可用c语言和pascal语言的文本编辑器来编辑,最后将文件存为filename.asm的形式即可。

2、编译目标文件(即:编译为.obj .lst .crf文件)将正确的源代码编译为机器语言、程序清单及交叉引用表的目标文件。

如果此时程序有语句错误,系统将报错,并指出在第几行,什么类型的错误,可根据提示去逐一修改。

3、连接为可执行文件(即:连接为.exe 或.com文件)在DOS提示符下: LINK filename 回车4、运行编译好的可执行文件当4通过后,会产生一个可执行文件,这时只需运行这个程序,看它是否按你所想象那样得出结果。

在试运行期间,要尽量试一些临界状态,看程序是否运行稳定、结果是否正确,进行5。

5、用调试工具调试,重新修改(逻辑错误)用DOS中自带的调试程序DEBUG.EXE来进行程序调试、检查错误。

6.有关显示DOS基本命令1)单个字符显示命令将要显示的字符的ASCII码送给DL寄存器中断功能号2送AH寄存器,中断类型21H.如显示“3” MOV DL,33H 或 MOV DL, ‘3’如显示‘A’ MOV AH,‘A’MOV AH,2 MOV AH,2 MOV AH,2INT 21H INT 21H INT 21H 2)字符串显示命令将要显示的字符串所在存储区的首地址送给DX寄存器中断功能号9送AH寄存器,中断类型21H.如显示字符串“HELLO”存储区定义为 T DB“HELLO”,10,13,24H LEA DX,TMOV AH,9[实验方法及步骤] INT 21H1、编写实验程序。

2、编译。

3、运行(单步,跟踪),检查结果。

微机原理汇编语言的上机过程 实验报告

微机原理汇编语言的上机过程 实验报告

微机原理技术与接口实验报告学院:专业:班级:姓名:学号:汇编语言程序的上机过程实验目的通过简单地操作了解汇编语言程序的基本内容,体会汇编语言的运行,为以后的实验打下一定的基础。

实验原理及操作步骤一、上机环境❖要运行调试汇编语言程序,至少需要以下程序文件:▪编辑程序:或其他文本编辑工具软件,用于编辑源程序。

▪汇编程序:MASM.EXE,用于汇编源程序,得到目标程序。

▪连接程序:LINK.EXE,用于连接目标程序,得到可执行程序。

▪调试程序:DEBUG.EXE,用于调试可执行程序。

二、上机过程❖汇编语言程序上机操作包括:编辑、汇编、连接和调试几个阶段。

1.编辑源程序❖用文本编辑软件创建、编辑汇编源程序。

常用编辑工具有:、记事本、Word等。

❖无论采用何种编辑工具,生成的文件必须是纯文本文件,所有字符为半角,且文件扩展名为.asm(文件名不分大小写,由1~8个字符组成)。

2.汇编❖用汇编工具对上述源程序文件(.asm)进行汇编,产生目标文件(.obj)等文件。

❖汇编程序的主要功能是:检查源程序的语法,给出错误信息;产生目标程序文件;展开宏指令。

❖汇编过程如下:❖在DOS状态下,输入命令:MASM MYFILE.ASM(回车),即启动了汇编程序。

❖此命令执行后,会出现下面的3行信息,依次按回车键(即选择默认值)即可建立3个输出文件,其扩展名分别为:.OBJ(目标文件),.LST(列表文件)和.CRF(交叉引用文件)。

Object Filename [MYFILE.OBJ]:Source Listing [Nul.LST]:Cross Reference [Nul.CRF]:依次按回车键,进行选择后,汇编程序就对汇编源程序进行汇编。

如果汇编过程中发现有语法错误,则屏幕上会显示出错语言的位置和出错的类型。

此时,需要进行修改,然后再进行汇编。

❖如此进行,直至汇编无错误,得到目标文件为止。

3.连接❖汇编产生的目标文件(.obj)并不是可执行的程序,还要用连接程序把它转换为可执行的EXE文件。

微机原理上机报告

微机原理上机报告

实验一:EMU8086软件安装与使用一、实验目的通过本实验学习EMU8086软件的安装与使用。

二、实验设备PC微机一台,Emu8086仿真软件三、实验任务1. 安装Emu8086仿真软件。

2. 利用Emu8086仿真软件编程。

四、实验原理Emu8086仿真软件就是在Windows下的一种仿真软件,它可以仿真模拟8086的程序运行,并且可以直观地观察CPU寄存器的变化情况。

Emu8086 - Microprocessor Emulator结合了一个先进的原始编辑器、组译器、反组译器、具除错功能的软件模拟工具(虚拟PC),还有一个循序渐进的指导工具。

这对刚开始学组合语言的人会是一个很有用的工具。

它会在模拟器中一步一步的编译程序码并执行,视觉化的工作环境让它更容易使用。

你可以在程序执行当中检视暂存器、旗标以及记忆体。

模拟器会在虚拟PC 中执行程序,这可以隔绝你的程序,避免它去存取实际硬体,像硬碟、记忆体,而在虚拟机器上执行组合程序,这可以让除错变得更加容易。

这个软件完全相容於Intel 的下一代处理器,包括了Pentium II、Pentium 4,而相信Pentium 5 也会继续支援8086 的。

这种现象让8086 程序码的可携性相当高,它可以同时在老机器以及现代的电脑是执行,8086 的另一个优势是它的指令比较小且相当容易学习。

五、实验内容1. 安装Emu8086仿真软件,熟悉菜单栏,工具栏的每个选项的作用,按照操作流程完成程序的编译、链接,并对编辑窗口中所编写的简单汇编程序进行仿真调试,最后能够输出正确结果。

2. 编写简单程序,实现字符串的显示,显示内容为“姓名(换行)、学号”。

六、实验过程及结果1.EMU8086安装。

图1-1-1 Emu8086的安装图1-1-2 Emu8086的安装图1-1-3 Emu8086的安装图1-1-4 Emu8086的安装图1-1-5 Emu8086的安装图1-1-6 Emu8086的安装2. EMU8086使用,安装完毕,得到窗口如下图1-1:图1-2 Emu进入主界面3. 操作流程(1)file->new->empty workplace,编辑程序,如下图1-2:图1-3 Emu8086的安装(2) file->save,保存程序(**.asm格式),完成程序的编辑.(3) assmbler->compile,完成程序的编译和链接,如下图1-3:4. emulator->show emulator,开始仿真调试,如下图1-4:图1-5 Emu程序仿真调试界面5. 左键点击run运行程序,结果如图1-5:图1-6 Emu程序仿真调试结果界面七、实验感想这是微机原理的第一次上机,我熟悉了用emu8086的使用方法,通过这个模拟仿真软件初步了解了计算机的原理。

汇编语言上机实验报告

汇编语言上机实验报告

汇编语言上机实验报告实验时间:XXXX年XX月XX日实验课程:XXXXX实验室地点:XXXXX一、实验目的:1.熟悉汇编语言的基本语法和指令格式;2.掌握汇编语言程序的编写和调试方法;3.理解汇编语言与计算机硬件之间的关系。

二、实验设备与环境:1.实验设备:个人计算机或计算机终端;2. 实验环境:汇编语言开发工具,如Masm、TASM等。

三、实验内容:本实验通过编写汇编语言程序,实现以下功能:1.输入两个整数,求出其和并输出;2.输入一个正整数,判断其是否为素数并输出结果;3.输入一段字符串,判断其中是否存在一些字符,并输出字符的位置。

四、实验原理与方法:1.汇编语言基本语法:包括数据定义、指令格式、寄存器、标志位等;2.输入输出操作:通过中断调用实现从键盘输入、向屏幕输出;3.常用指令:包括数据传送指令、算术运算指令、逻辑运算指令等;4.判断与分支:通过条件判断指令实现程序流程控制。

五、实验步骤:1. 打开汇编语言开发工具,新建文件,并保存为.asm文件;2.编写程序,包括数据定义、指令编写等;3.进行程序调试,检查程序的正确性和运行结果;4.运行程序,查看程序的输出结果;5.对程序进行优化,确保程序的效率和稳定性;6.编写实验报告,记录实验过程和结论。

六、实验结果与数据分析:1.第一个功能的结果:输入两个整数进行相加并输出;2.第二个功能的结果:输入一个正整数,判断是否为素数并输出结果;3.第三个功能的结果:输入一段字符串,判断是否存在一些字符,并输出字符的位置。

七、实验总结:通过本次实验,我对汇编语言的基本语法和指令格式有了更深入的了解,掌握了汇编语言程序的编写和调试方法,加深对汇编语言与计算机硬件之间关系的理解。

在实验过程中,我遇到了一些困难和问题,但通过不断学习和尝试,最终解决了这些问题。

通过实验,我对汇编语言的应用有了更深入的认识,并体会到了编程的乐趣和挑战。

实验完成后,我深刻感受到了汇编语言的底层性能和灵活性,同时也意识到了其编码复杂和调试困难的一面。

实验二 汇编语言程序上机过程及调试

实验二    汇编语言程序上机过程及调试

实验报告二课程微机原理实验名称汇编语言程序上机过程以及调试第页专业电子信息班级__ __ 学号_ __ 姓名实验日期:2014 年 3 月10 日报告退发(订正、重做)一、实验目的学习汇编语言程序设计的基本步骤,即编辑(EDIT)程序、汇编(MASM)、连接(LINK)和运行,使对汇编语言程序设计有一个初步的认识。

二、实验内容1、学习使用全屏幕文本编辑软件EDIT。

用EDIT输入一段给定的源程序。

2、用MASM对已存盘的源程序进行汇编,形成目标文件(.OBJ);如有错误,再返回到EDIT进行修改。

3、用LINK对上述形成的目标文件进行连接,形成可执行文件(.EXE)4、在DOS提示符下运行该可执行文件。

[汇编语言程序的编写格式]汇编语言程序一般由几个段组成,它们分别是堆栈段,数据段,代码段。

任何一个源程序至少必须有一个代码段和一条作为源程序结束的伪指令END。

段的定义有两种格式,分述如下:1,完整的段定义格式:一个段由段头,段体,段尾组成,形式如下:段名SEGMENT[定位类型][组合类型][‘类别’]……段名ENDS其中SEGMENT后的参数一般可省略,详细说明参阅后面的有关章节。

2,简化的段定义格式(MASM5.0版本提供)每段以.开始后跟固定的段名,一般形式如下:DOSSEG.MODEL 存储类型;“存储类型”可选择为SMALL。

.STACK[大小];堆栈段,“大小”指定堆栈的字节数。

.DATA;数据段。

.CODE[名字];代码段;一般只有一个代码段,名字可缺少……例1:用完整的段定义编写一源程序。

NAME EXAM1;可以省略DATA SEGMENT;定义数据段,以下是数据段的内容STR1 DB “HELLO,WELCOME!”,13,10,‘$’STR2 DB “DO YOU LIKE COMPUTER?(Y/N)”,13 10,‘$’STR3 DB “NICE!”,13,10,‘$’STR4 DB “SORRY!”,13,10,‘$’STR5 DB “UNKNOW,ANSWER AGAIN!(Y/N)”,DB 13,10,‘$’STR6 DB “SEE YOU NEXT TIME!”,13,10,‘$’DA TA ENDS ;数据段结束CODE SEGMENT ;定义代码段ASSUME CS:CODE;DS:DATA;以下是代码段内容START:MOV AX,DA TA;给数据段寄存器赋值MOV DS,AXMOV AH,9;显示一字符串的功能号MOV DX,OFFSET STR1;显示字符串STR1的偏址INT 21H;DOS功能调用ASK :MOV DX,OFFFSET STR2;显示字符串STR2INT 21HMOV AH,1;键盘输入一字符的功能号INT 21H;键入的字符ASCⅡ码在ALNOT AL;求反TEST AL,‘Y’;是否按下‘Y’或‘y’键JE NEXT1TEST AL,‘y’JE NEXT1TEST AL,‘N’;是否按下‘N’键或‘y’键JE NEXT2TEST AL, ‘n’JE NEXT2MOV DX,OFFSET STR5;不是按上述键MOV AH,9INT 21HJMP ASK;再返回ASKNEXT1:MOV DX,OFFSET STR3;是按下‘Y’或‘y’键MOV AH,9INT 21HJMP BYENEXT2:MOV DX,OFFSET STR4;是按下‘N’或‘n’键MOV AH,9INT 21HBYE:MOV DX,OFFSET STR6INT 21HMOV DL,7;喇叭响的ASCⅡ码MOV AH,2INT 21HMOV AH,4CH;退回DOSINT 21HCODE ENDS;代码段结束END START;源程序结束注:源程序中的每一行注释语句前一定要加分号‘;’,下同。

微机原理汇编实验-汇编语言程序上机操作方法实验

微机原理汇编实验-汇编语言程序上机操作方法实验

学生实验报告实验课程名称:微机原理汇编实验开课实验室:年月日年级、专业、班学号姓名成绩实验项目名称汇编语言程序上机操作方法实验指导教师教师评语一、实验目的学习程序设计的基本方法和技能,熟练掌握用汇编语言设计、编写、调试和运行程序的方法,为后继课程打下坚实的基础。

二、实验原理使用MASM汇编语言设计工具,设计简单的汇编语言程序并进行运行调试,以便掌握汇编语言设计、编写、调试和运行程序的方法。

三、实验仪器、材料1.软件MASM5.02.PC微机一台四、实验步骤1.建立asm文件在windows系统环境下,应用写字板或其它文字编辑软件编写汇编语言源文件。

注意保存的源文件以asm为后缀。

2.用汇编程序MASM对源文件汇编产生目标程序.OBJ。

3.用连接程序LINK产生可执行文件.EXE。

4.执行程序。

5.程序调试五、实验源代码;------------------------------------------------- ;程序名:Lab101;功能:把NUM数组中的最大值取出并显示输出;-------------------------------------------------DATA SEGMENTNUM DB 12,52,36,14,25,32,14,126 COUNT EQU ($-NUM)DATA ENDSCODE SEGMENTMAIN PROC FARASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV CX,COUNT ;初始化循环次数MOV SI,OFFSET NUMMOV AL,[SI]MOV DL,ALINC SIAGAIN:MOV AL,[SI]INC SICMP DL,ALJL SWAPLOOP AGAINJMP FINISHSWAP:MOV DL,ALLOOP AGAINJMP FINISH;--------------------------------;子程序名:TRANNUM;功能:将数字转换为字符串;入口参数:AL;出口参数:无;--------------------------------TRANNUM PROC NEARMOV AL,DLXOR AH,AHMOV CX,3MOV DL,10TRAN1:DIV DLXCHG AH,ALADD AL,'0'PUSH AXXCHG AH,ALMOV AH,0LOOP TRAN1MOV CX,3TRAN2:POP DXCALL DISPLAYLOOP TRAN2RETTRANNUM ENDP;--------------------------------;子程序名:DISPLAY;功能:将单个字符显示输出;入口参数:DL;出口参数:无;--------------------------------DISPLAY PROC NEARMOV AH,02HINT 21HRETDISPLAY ENDPFINISH:CALL TRANNUMMOV AH,4CH ;程序结束返回DOSINT 21HMAIN ENDPCODE ENDSEND START六、实验过程原始记录(数据图表、计算等)1、打开命令提示符:输入cmd2、输入:cd G:/asm/tos3、输入:G:4、输入:masm lab1015、输入:link lab1016、输入:lab101七、实验结果分析从程序代码分析,所给数值中最大值为126,运行程序后输出结果为126,说明程序能够实现其功能。

微机原理汇编语言的上机过程 实验报告

微机原理汇编语言的上机过程 实验报告

微机原理技术与接口实验报告学院:专业:班级:姓名:学号:汇编语言程序的上机过程实验目的通过简单地操作了解汇编语言程序的基本内容,体会汇编语言的运行,为以后的实验打下一定的基础。

实验原理及操作步骤一、上机环境要运行调试汇编语言程序,至少需要以下程序文件:▪编辑程序:或其他文本编辑工具软件,用于编辑源程序。

▪汇编程序:MASM.EXE,用于汇编源程序,得到目标程序。

▪连接程序:LINK.EXE,用于连接目标程序,得到可执行程序。

▪调试程序:DEBUG.EXE,用于调试可执行程序。

二、上机过程汇编语言程序上机操作包括:编辑、汇编、连接和调试几个阶段。

1.编辑源程序用文本编辑软件创建、编辑汇编源程序。

常用编辑工具有:、记事本、Word等。

无论采用何种编辑工具,生成的文件必须是纯文本文件,所有字符为半角,且文件扩展名为.asm(文件名不分大小写,由1~8个字符组成)。

2.汇编用汇编工具对上述源程序文件(.asm)进行汇编,产生目标文件(.obj)等文件。

汇编程序的主要功能是:检查源程序的语法,给出错误信息;产生目标程序文件;展开宏指令。

汇编过程如下:在DOS状态下,输入命令:MASM MYFILE.ASM(回车),即启动了汇编程序。

此命令执行后,会出现下面的3行信息,依次按回车键(即选择默认值)即可建立3个输出文件,其扩展名分别为:.OBJ(目标文件),.LST(列表文件)和.CRF(交叉引用文件)。

Object Filename [MYFILE.OBJ]:Source Listing [Nul.LST]:Cross Reference [Nul.CRF]:依次按回车键,进行选择后,汇编程序就对汇编源程序进行汇编。

如果汇编过程中发现有语法错误,则屏幕上会显示出错语言的位置和出错的类型。

此时,需要进行修改,然后再进行汇编。

如此进行,直至汇编无错误,得到目标文件为止。

3.连接汇编产生的目标文件(.obj)并不是可执行的程序,还要用连接程序把它转换为可执行的EXE文件。

机械_微机原理_学生实验报告

机械_微机原理_学生实验报告

实验一汇编语言上机认识实验一、实验主要内容1、汇编语言源程序文件的建立;2、汇编程序的编辑、汇编、连接、运行。

二、实验目的熟悉汇编语言的上机环境,掌握汇编程序的编辑、汇编、连接、运行等步骤。

三、实验具体操作过程汇编语言的上机的一般步骤为:编辑(用编辑程序形成汇编语言源程序)、汇编(用汇编程序将源文件汇编成目标文件)、连接(用连接程序将目标程序转换为可执行文件)、调试运行(执行可执行性文件,若有错误,利用DEBUG调试程序进行调试,直到没有错误为止)。

1、进入DOS系统单击windows的“开始”按钮,再单击“运行”命令,输入“cmd”命令,进入DOS模式。

再利用相应的DOS命令,切换到masm目录下。

2、编辑.asm源程序在DOS提示符下输入“edit 001.asm”,建立一个汇编源程序文件,本次实验的程序是在屏幕上输出一个字符串“This is a sample program!”,具体程序如下:DA TA SEGMENTBUF DB 'THIS IS A SAMPLE PROGRAM!'DB 0DH,0AH,'$'DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DA TAMOV DS,AXMOV AH,9LEA DX,BUFINT 21HMOV AH,4CHINT 21HCODE ENDSEND START3、汇编在dos提示符下输入命令“masm 001.asm”,若发现有语法错误,请回到源程序进行修改;若无错误,进行下一步。

4、连接在dos提示符下输入命令“link 001.obj”。

5、运行在dos提示符下输入命令“001”,发现屏幕上输出“This is a sample program!”,实验完成。

实验二 DEBUG的应用一、实验主要内容1、进入和退出DEBUG程序2、使用DEBUG中的常用命令二、实验目的1、熟悉DEBUG有关命令的使用方法2、学会利用DEBUG掌握有关指令的功能3、学会利用DEBUG运行简单的程序段三、实验具体操作过程1、debug的启动与退出在dos提示符下输入“debug”,并回车,可进入debug状态;在debug提示符下输入“q”,可返回dos提示符。

汇编语言上机实验报告

汇编语言上机实验报告

汇编语言上机实验报告汇编语言上机实验报告引言:汇编语言是一种底层的计算机语言,通过使用汇编语言,我们可以更加深入地了解计算机的运行原理和底层机制。

本次实验旨在通过上机实践,掌握汇编语言的基本语法和编程技巧,同时加深对计算机底层的理解。

实验目的:1. 学习汇编语言的基本语法和指令集;2. 掌握汇编语言的程序设计和调试方法;3. 加深对计算机底层原理的理解。

实验环境:本次实验使用的是Windows操作系统,并安装了MASM汇编语言开发工具。

实验过程:1. 实验一:Hello World程序我们首先编写一个简单的Hello World程序,用于验证汇编语言的环境是否正常。

通过使用MASM工具,我们可以将源代码汇编成可执行文件,并在命令行中运行。

该程序的功能是在屏幕上输出"Hello World"。

```assembly.model small.stack 100h.datamsg db 'Hello World$'.codemain procmov ah, 09hlea dx, msgint 21hmov ah, 4chint 21hmain endpend main```通过编译、链接和运行,我们可以在屏幕上看到"Hello World"的输出。

2. 实验二:计算两个数的和在这个实验中,我们将学习如何编写一个简单的加法程序。

我们定义两个变量a和b,并将其值相加,然后将结果输出到屏幕上。

```assembly.model small.stack 100h.dataa db 10b db 20sum db ?.codemain procmov al, aadd al, bmov sum, almov ah, 09hmov dl, sumadd dl, 30hint 21hmov ah, 4chint 21hmain endpend main```在屏幕上,我们可以看到输出结果为"30",即10加20的和。

微机原理上机实验报告2

微机原理上机实验报告2

201406微机原理上机实验报告实验二班级:物联网1班姓名:邓笑游学号: 01210261y11 成绩:实验2.汇编语言上机的一般过程实验一、实验目的1、了解汇编源程序的结构2、了解基本伪指令的作用3、掌握MASM的作用和使用方法二、预习要点1、汇编语言语句的结构2、汇编语言源程序的结构3、MASM工具的使用方法三、实验项目以z=x+y为例编制汇编源程序到产生.EXE文件的一般过程四、实验设备环境PC机1台,DOSBOX,MASM、LINK、工具。

五、实验方法1、建立z=x+y汇编语言的工作平台2、使用MASM对源程序进行汇编3、未产生.OBJ文件,分析错误的原因并修改记录。

六、实验要求举例通过MASM说明常见的语法错误和产生错误的原因和修改方法。

实验2的报告1.建立z=x+y 的工作平台 DOSBOX 下(在DOSBox 中添加MASM.EXE LINK.EXE 和Z=X+Y 的源程序G1.ASM )2.建立第一次上机的源程序Z=X+Y (2=1+1)3.对源程序进行编译(汇编)产生目标(二进制)文件的方法。

DOSBox 下,将masm.exe 拖入DOSBox.exe ,按会话方式对源程序G1.asm 汇编源程序正确(无致命错误 0 Severest Errors )时会出现编译正确的信息并产生同名1.obj 目标文件。

4.制造错误并另存为G2.ASM 后重新汇编(MASM G2; 为快速汇编命令,不能缺少“;”。

即不用会话直接)看产生错误的信息。

修改错误重新存盘汇编。

执行MASM.EXE 文件。

屏幕显示文件的版本,并出现编译会话框。

输入文件名1,一直回车,完成会话。

用快速汇编产生编译结果的截图,指出了3行语句的错误类型(致命错误-警告错误)和错误的原因。

5.对g1.obj链接(link.exe)产生可执行g1.exe文件6.用DEBUG调入要调试的g1.exe文件,用U命令查看。

数据段的X单元在机器中用单元的有效地址表示,即[0000H]单元7.画出本程序的现场本程序的原始现场一次执行到程序最后一天有效指令的方法F是MOV AH,4CH的IP(000FH)的缩写本程序的结果现场8.实验收获1)源程序的结构由模版和实际段内内容构成2)masm工具的作用:检查程序结构、显示语句的语法错误种类和类型,产生程序的现场(数据现场和代码)3)了解了会话masm、link和快速masm、link的方法4)了解了D、G命令5)了解了源程序上机运行调试的一般方法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

可见修改成功。 格式三:显示和修改标志寄存器内容 -RF
(4)运行命令 G
格式为:-G [=地址 1][地址 2[地址 3…]] 其中,地址 1 指定了运行的起始地址,后面的均为断点地址。当指令执行 到断点时, 就停止执行并显示当前所有寄存器及标志位的内容和下一条要 执行的指令。 (5)跟踪命令 T 格式一:逐条指令跟踪
该命令从指定地址起执行一条指令后停下来, 显示所有寄存器及标志位的 内容。若未指定地址,则从当前的 CS:IP 开始执行。 格式二:多条指令跟踪
该命令从指定地址起执行 n 条指令后停下来,n 由[值]确定。 N=2 的情形下
(6)汇编命令 A 格式为:-A [地址] 该命令允许输入汇编语言语句,并能把它们汇编成机器代码,相继地存放 在从指定地址开始的存储区中。必须注意:输入的数字均默认为十六进制 数。 5.5.3 运行调试-DEBUG 的主要命令
(2)修改内存单元内容的命令 E 格式一:用给定内容代替指定范围的单元内容 -E 地址 内容表 修改代码: 查看修改结果:
可以看到结果与修改指令相符。 格式二:逐个单元相继地修改 -E 地址 -E DS:100↙ 将 DS:100 中存储内容修改为 33
查看修改后 DS:序上机操作包括:编辑、汇编、连接和调试几个阶段。 1.编辑源程序 用文本编辑软件创建、编辑汇编源程序。常用编辑工具有:、 记事本、Word 等。 无论采用何种编辑工具, 生成的文件必须是纯文本文件, 所有字符为半角, 且文件扩展名为.asm(文件名不分大小写,由 1~8 个字符组成) 。 2.汇编 用汇编工具对上述源程序文件(.asm)进行汇编,产生目标文件(.obj) 等文件。 汇编程序的主要功能是:检查源程序的语法,给出错误信息;产生目标程 序文件;展开宏指令。 汇编过程如下: 在 DOS 状态下,输入命令:MASM MYFILE.ASM(回车) ,即启动了 汇编程序。 此命令执行后,会出现下面的 3 行信息,依次按回车键(即选择默认值) 即可建立 3 个输出文件,其扩展名分别为:.OBJ(目标文件) ,.LST(列 表文件)和.CRF(交叉引用文件) 。 Object Filename [MYFILE.OBJ]: Source Listing [Nul.LST]: Cross Reference [Nul.CRF]: 依次按回车键,进行选择后,汇编程序就对汇编源程序进行汇编。如果汇 编过程中发现有语法错误, 则屏幕上会显示出错语言的位置和出错的类型。 此时,需要进行修改,然后再进行汇编。 如此进行,直至汇编无错误,得到目标文件为止。
P 命令与 T 命令的差别在于 P 命令把子程序调用 (CALL) 、 重复字符串指 令(REP)或软件中断(INT)当成一条指令来执行,简化了跟踪过程。 (9)退出 DEBUG 命令 Q 格式为:-Q 该命令退出 DEBUG 程序,返回 DOS。
四、 运行调试-DEBUG 使用说明
① 在 DEBUG 中的提示符“-”下才能输入命令,在按回车键后,该命令才 开始执行。 ② 命令是单个字母,命令和参数的大小写可混合输入。 ③ 命令和参数、参数和参数之间要用空格、逗号或制表符等分隔。 ④ 可以用“段值:偏移量”的形式来表示地址,也可以用段寄存器来代表 “段值”。例如,1000:0,DS:10,CS:30 等。 ⑤ 范围:用来表示地址范围,从哪个地址开始,到哪个地址结束。它有 两种表示方式。 地址 地址——前者表示起始地址,要用“段值:偏移量”来表达,后者表 示终止地址,只用“偏移量”来表示。 地址 长度——前者表示起始地址,要用“段值:偏移量”来表达,后者表 示该区域的大小,用字母“L”开头的数值来表示。 例如: 100:50 100 100:50 L100 ⑥ 当命令出现语法错误时,将在出错位置显示"^ Error"。 ⑦ 可用组合键 Ctrl+C 或 Ctrl+Break 来终止当前命令的执行,还可用组合 键 Ctrl+S 来暂停屏幕显示(当连续不断地显示信息时) 。
(7)反汇编命令 U 格式一:从指定地址开始,反汇编 32 字节 -U [地址]
格式二:对指定范围内的存储单元进行反汇编 -U [范围]
(8)执行命令 P 格式为:-P [=地址] [指令数] 该命令控制 CPU 执行指定地址处的指令。 若指定了指令数, 则 CPU
执行从指定地址开始的若干条指令。若未指定地址和指令数,则 CPU 执行由(CS:IP)指定地址处的一条指令。
三、运行调试
DEBUG 是为汇编语言设计的一种调试工具,它通过单步、设置断点等方 式为汇编语言程序员提供了非常有效的调试手段,它可以直接调试 COM 文件和 EXE 文件。 DEBUG 状态下的所有数据都采用十六进制形式显示,无后缀 H。 1.DEBUG 的运行 在 DOS 状态下,输入下列命令之一,就可以进入 DEBUG 调试状态。 命令一:DEBUG ↙ (回车) 格式二:DEBUG 可执行文件名 ↙(回车) 进入 DEBUG 调试状态后,将显示提示符 “ - ” ,此时,可输入所需的 DEBUG 命令。
3.连接 汇编产生的目标文件(.obj)并不是可执行的程序,还要用连接程序把它 转换为可执行的 EXE 文件。连接过程如下: 在 DOS 状态下,输入命令:LINK MYFILE.OBJ (回车) ,即可 完成连接。

与汇编过程类似, 如果连接过程中出错,那么程序会在屏幕上显示 提示信息。 此时, 需要对源程序进行查错、 修改, 然后再进行汇编、 连接,直至连接无错误,得到可执行文件为止。
微机原理技术与接口实验报告
学院: 专业: 班级: 姓名: 学号:
汇编语言程序的上机过程
实验目的
通过简单地操作了解汇编语言程序的基本内容,体会汇编语言的运行,为以 后的实验打下一定的基础。
实验原理及操作步骤
一、上机环境
要运行调试汇编语言程序,至少需要以下程序文件: 编辑程序: 或其他文本编辑工具软件, 用于编辑源程序。 汇编程序:MASM.EXE,用于汇编源程序,得到目标程序。 连接程序:LINK.EXE,用于连接目标程序,得到可执行程序。 调试程序:DEBUG.EXE,用于调试可执行程序。
实验结果
实验结果截图如上述部分,这里不再赘述。
实验总结与心得
通过本次实验了解了汇编语言的一些基本运行,在实验中也遇到了一些问 题,在最开始的时候,无论怎么输入都显示: ‘masm’不是内部或外部命令,也不是可运行的程序或批处理文件。 后来把那个文件夹里所有的东西都放到桌面上,就瞬间好了,之后的每一 步实验按照要求一步一步做,就都能出来结果。 这次实验让我体会到了汇编语言的一些基本功能, 也让我对汇编语言的编 译及需要注意的地方都有了一些初步的掌握, 希望在以后的实验中能够积累的越 来越多,对此体会越来越深。
可见已经将其更改为 33,指令完成。 E 4:0100
检查修改结果:
由上图可以看出修改成功。 (3)检查和修改寄存器内容的命令 R 格式一:显示 CPU 内部所有寄存器内容和标志寄存器中的各标志位状态 -R
格式二:显示和修改某个指定寄存器内容 -R 寄存器名
修改 AX 寄存器的内容为 aaaa
2. DEBUG 的主要命令 (1)显示内存单元内容的命令 D 格式为:-D [地址] 或 -D [范围] 说明:上面格式中的“-”符号是 DEBUG 的提示符,下同。 例如,显示指定范围(DS:100~DS:1FF)内存单元内容的命令是: -D 100 10F
这里没有指定段地址,D 命令自动显示 DS 段的内容。
4.程序运行 在 DOS 提示符下输入可执行程序的文件名即可运行程序。若程序能够运 行但不能得到预期结果,则就需要检查源程序,改错后再汇编、连接、运 行。
5.程序调试 在程序运行阶段, 有时不容易发现问题, 尤其是碰到复杂的程序更是如此, 这时就需要使用调试工具进行动态查错。 常用的动态调试工具为 DEBUG。
相关文档
最新文档