当前位置:文档之家› 实验三 宏汇编语言程序上机过程及调试1

实验三 宏汇编语言程序上机过程及调试1

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

一、实验目的:

1、掌握常用工具软件 EDIT,MASM和LINK的使用。

2、伪指令: SEGMENT,ENDS,ASSUME,END,OFFSET,DUP。

3、利用的 1号功能实现键盘输入的方法。

4、了解.EXE文件和.COM文件的区别及用INT 21H 4C号功能返回系统的方法。

二、宏汇编调试步骤:

1、输入程序:用文字编辑工具(记事本或EDIT)将源程序输入,命名为*.ASM,保存到

c:\masm5目录中;

2、进入dos命令行:开始\运行\cmd 回车;

3、进入masm目录:在dos操作符下键入 cd c:\masm5 回车;

4、编译文件:在dos操作符下键入 masm *.asm,生成*.OBJ文件和*.LST文件;

5、链接文件:在dos操作符下键入 link *.Obj,生成可执行文件*.exe

6、运行:在dos操作符下键入 *.exe

程序:

data segment

message db 'This is a sample program of keyboard and disply'

db 0dh,0ah,'Please strike the key!',0dh,0ah,'$' data ends

stack segment para stack 'stack'

db 50 dup(?)

stack ends

code segment

assume cs:code,ds:data,ss:stack

start: mov ax,data

mov ds,ax

mov dx,offset message

mov ah,9

int 21h

again: mov ah,1

int 21h

cmp al,1bh

je exit

cmp al,61h

jc nd

cmp al,7ah

ja nd

and al,11011111b

nd: mov dl,al

mov ah,2

int 21h

jmp again

exit: mov ah,4ch

int 21h

code ends

end start

三、实验内容:

1、分析程序实现功能;

2、调试所给程序;记录运行结果

3、将上述程序修改为:在屏幕上显示标题并提示你按键,每按一键在屏幕上显示二个相同

的字符,将小写字母改成大写字母。按ESC键可返回DOS。

四、实验报告:

1、汇编,连接及调试时产生的错误,其原因及解决办法。

2、记录原程序运行结果;

3、记录修改后程序代码,记录运行结果;

4、若在源程序中把INT 21H的'H'省去,会产生什么现象?

5、把 INT 21H 4CH号功能改为 INT 20H,行不行?

所有实验电子版报告

实验报告 课程:汇编语言上机实验 专业:电子信息科学与技术 班级:11电子1班 学号:119050244098 姓名:徐睿昀 物理与电子信息学院

目录 实验一 DEBUG常用命令及8086指令使用 (1) 实验二内存操作数及寻址方法 (5) 实验三汇编语言程序上机过程 (10) 实验四数据串传送和查表程序 (13) 实验五屏幕字符显示程序 (19) 实验六屏幕字符显示程序 (23) 实验七分枝程序 (27) 实验八多重循环程序 (33) 实验九子程序 (37)

汇编语言程序设计实验报告1 学号:119050244098 姓名:徐睿昀实验日期:2013 10 20 实验名称:实验一 DEBUG常用命令及8086指令使用 实验目的:1、8086指令: MOV,ADD,ADC,SUB,SBB,DAA,XCHG 2、DEBUG命令: A,D,E,F,H,R,T,U。 3、ASCII码及用16进制数表示二进制码的方法。 4、8086寄存器: AX,BX,CX,DX,F,IP。 实验内容:一、DEBUG 命令使用: 1、打 DEBUG 进入 DEBUG 控制,显示提示符 '_ '。 2、用命令 F100 10F 'A' 将'A'的ASCII码填入内存。 3、用命令 D100 10F 观察内存中的16进制码及屏幕右边的ASCII字符。 4、用命令 F110 11F 41 重复上二项实验,观察结果并比较。 5、用命令 E100 30 31 32 …… 3F将30H-3FH写入地址为100开始的内存 单元中,再用D命令观察结果,看键入的16进制数是什么字符的ASCII码? 6、用H命令检查下列各组16进制数加减结果并和你的手算结果比较: (1)34H,22H (2)56H,78H (3)A5,79H (4)1284H,5678H (5)A758,347FH 7、用R 命令检查各寄存器内容,特别注意AX,BX,CX,DX,IP及标志位中ZF,CF 和AF的内容。 8、用R命令将AX,BX内容改写为1050H及23A8H。 二、8086常用指令练习 1、传送指令 1)用A命令在内存100H处键入下列内容: MOV AX,1234 MOV BX,5678

微机原理实验指导书4-22资料

微机原理及接口互动平台实验指导书 计算机学院

目录 实验一熟悉实验系统及设备----------------------------------------------------------3 实验二汇编程序设计及调试----------------------------------------------------------6 实验三8255A接口实验----------------------------------------------------------------8 实验四8253接口实验-----------------------------------------------------------------10 实验五8253拓展实验-----------------------------------------------------------------11 实验六8259中断控制器实验--------------------------------------------------------12实验七0809A/D转换器实验----------------------------------------------------------14 实验八LED显示实验------------------------------------------------------------------16 实验九交通灯设计实验----------------------------------------------------------------17 实验十0809A/D转换器综合实验---------------------------------------------------19 实验十一D/A数模转换-----------------------------------------------------------------21

汇编语言上机过程

汇编语言程序的上机过程 一、上机环境 要运行调试汇编语言程序,至少需要以下程序文件: ?编辑程序:https://www.doczj.com/doc/0b19508836.html,或其他文本编辑工具软件,用于编辑源程序。 ?汇编程序:MASM.EXE,用于汇编源程序,得到目标程序。 ?连接程序:LINK.EXE,用于连接目标程序,得到可执行程序。 ?调试程序:DEBUG.EXE,用于调试可执行程序。 二、上机过程 汇编语言程序上机操作包括:编辑、汇编、连接和调试几个阶段。 1.编辑源程序 用文本编辑软件创建、编辑汇编源程序。常用编辑工具有:https://www.doczj.com/doc/0b19508836.html,、记事本、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文件。连接过程如下: ?在DOS状态下,输入命令:LINK MYFILE.OBJ(回车),即可完成连接。 ?与汇编过程类似,如果连接过程中出错,那么程序会在屏幕上显示提示信息。 此时,需要对源程序进行查错、修改,然后再进行汇编、连接,直至连接无 错误,得到可执行文件为止。 4.程序运行 在DOS提示符下输入可执行程序的文件名即可运行程序。若程序能够运行但不能得到预期结果,则就需要检查源程序,改错后再汇编、连接、运行。 5.程序调试 在程序运行阶段,有时不容易发现问题,尤其是碰到复杂的程序更是如此,这时就

汇编语言程序设计实验指导

汇编语言程序设计实验指导 【实验提要】以下列举的10个实验,都是以Intel的8086及后续系列微处理器的指令系统为核心,采用宏汇编工具MASM6. X以及调试工具DEBUG或DEBUG32,针对本教材所述内容进行相关的上机实践。旨在帮助学生加深认识和理解理论教学知识,通过大量的上机实验熟悉8086 CPU的指令功能、用途和使用技巧,进而提高汇编语言程序设计的能力。(带*号的为选作内容) 实验一调试工具DEBUG的应用 实验目的 通过实验掌握下列知识: 1、8086指令: MOV,ADD,ADC,SUB,SBB,DAA,XCHG的功能; 2、DEBUG命令: A,D,E,F,H,R,T,U的使用; 3、BCD码、ASCII码及用十六进制数表示二进制码的方法; 4、寄存器: AX,BX,CX,DX,FLAGS,IP。 内容及步骤 注:本次实验可以参照教材上关于DEBUG的叙述内容进行。 一、DEBUG 命令使用 1、开机后,切换到命令提示符窗口下,出现提示符后键入命令DEBUG, 进入调试环境, 显示提示符 '- '。 2、用命令 F 200 220 'AB' 将'AB'的两个ASCII码循环填入内存。 注:第一个参数200是当前段的起始偏移地址,第二个参数220是终了偏移地址,第三个参数‘AB’是被填入的数值,若不给出第二个参数则填入128(8行)个字节。 3、用命令 D200 观察内存中的十六进制码及屏幕右边的ASCII字符。 4、用命令 F230 23F 12 重复上二项实验,观察结果并比较。 5、用命令 E200 41 42 43 44 45将A-E的ASCII码写入地址为200开始的内存单元中,再 用D命令观察结果,看键入的十六进制数和ASCII码的对应关系。

微机实验心得体会

微机实验心得体会 【篇一:微机原理实验报告】 一、实验目的 1.掌握qtspim的调试技术 2.了解mips汇编语言与机器语言之间的对应关系 3.掌握mips汇编程序设计 4.了解c语言语句与汇编指令之间的关系 5.熟悉常见的mips汇编指令 6.掌握程序的内存映像 二、实验任务 用汇编程序实现以下伪代码:要求采用移位指令实现乘除法运算。 int main() { int k, y ; int z[50] ; y = 56; for(k=0;k50;k++) z[k] = y - 16 * ( k / 4 + 210) ; } 三、实验要求 1.完成汇编语言程序设计、调试、测试全过程 2.指出用户程序的内存映像,包括代码段和数据段 3.完成软件实验报告 四、实验过程 程序源代码: .data #定义用户数据段 z:.space 200 .text main: la $s0,z #$s0=addrz li $t0,0 #$s1=k=0 li $t1,56 #$s2=y=56 loop: slti $t2,$t0,50 #判断k是否小于50 beq $t2,$0,done #当k大于等于50时跳转 srl $t3,$t0,2 #k/4 addi $t3,$t3,210 #k/4+210

sll $t3,$t3,4 #16*(k/4+210) sub $t3,$t1,$t3 #y-16*(k/4+210) sw $t3,0($s0) #写进z[k] addi $s0,$s0,4 #地址移一位 addi $t0,$t0,1 #k加1 j loop #循环 done: li $v0 10 syscall 五、实验总结 通过这次实验,加深了我对理论学习的代码书写规范的理解,练习 了qtspim软件的使用,对以后的学习有很大的帮助。这次实验的内 容相对比较简单,原理容易理解,编译的过程中遇到了一点困难, 不过在同学的帮助下顺利解决了。 【篇二:微机原理与接口技术实验总结】 微机原理与接口技术实验总结 11107108徐寒黎 一、实验内容以及设计思路 1、①试编写一程序,比较两个字符串string1、 string2 所含字符 是否相同,若相同输出“match”,若不相同输出“no match”。 设计思路:定义一个数据段,在数据段中定义两个字符串作为 string1、 string2以及几个用于输入提示的和输出所需内容的字符串,定义一个堆栈段用于存放,定义代码段。关键步骤以及少量语句:第一步将string1和string2都实现用键盘输入,方法是 mov dx,offset string2 mov ah,0ah 并且显示在显示器上,显示方法将0ah改成09h,语句与上面类似。然后进行比较第一个单元, mov al,[string1+1] cmp al,[string2+1] jnz nomatch 若字符串长度不等,则直接跳转,输出输出“no match”; 若长度相等再逐个比较 lea si,[string1+2] lea di,[string2+2] mov cl,[string1+1]

汇编语言程序设计

《汇编语言程序设计》课程教学大纲 学时:32 学分:2 理论学时:24 实验学时:8 面向专业:电科、电信、通信课程代码:B2700009 先开课程:C语言程序设计课程性质:必修 执笔人:王艳春审定人:陈龙猛、张金政 第一部分:理论教学部分 一、说明 1、课程的性质、地位和任务 本课程属于专业基础课,是电科、电信和通信专业学生必修的核心课程之一,是进一步学习微机原理、操作系统等课程的基础。掌握它有助于提高学生对计算机系统的设计、研究、开发和应用能力。汇编语言是一种面向机器、实践性很强的程序设计语言,必须结合一种实际的计算机来组织教学。因此,本课程选择最广泛使用的IBM PC作为具体的机型来介绍。通过课堂教学和上机实践,培养学生用汇编语言进行编程的思路、方法,养成良好的程序设计习惯,并了解底层I/O 驱动软件的编程方法,熟悉源程序汇编、链接和调试运行的步骤和方法,掌握dos、BIOS功能的调用方法及使用debug工具的调试手段,为后续课的学习打下扎实的基础。 2、课程教学和教改基本要求 课程的目的与教学基本要求:本课程主要介绍汇编语言和宏汇编的基本概念,80X86CPU的指令系统和寻址方式;介绍汇编语言程序格式、伪操作和上机全过程。通过实际例子,详细叙述顺序、分支、循环、子程序等基本程序结构以及程序设计的基本方法和技巧。学习这门课程,应达到以下几个要求: ①掌握汇编语言的基本理论知识和有关概念;掌握用汇编语言编写源程序的基本原则、方法和技巧; ②具有阅读,分析汇编语言程序的能力; ③通过上机实践,能够熟练地掌握汇编语言程序的编辑、汇编、连接、运行 过程及debug工具的调试手段。

汇编实验1和2

实验一 DOS环境下的汇编语言编程环境使用(基础与验证型) 一、实验要求和目的 1、掌握汇编语言程序设计的基本方法和技能; 2、熟练掌握使用全屏幕编辑程序EDIT编辑汇编语言源程序; 3、熟练掌握宏汇编程序MASM的使用; 4、熟练掌握连接程序LINK的使用。 二、软硬件环境 1、硬件环境:微机CPU 486以上,500MB以上硬盘,32M以上内存; 2、软件环境:装有MASM 6.15、DEBUG、LINK、EDIT等应用程序。 三、实验涉及的主要知识单元 1、汇编语言源程序的汇编过程 汇编语言源程序的汇编过程是是利用汇编程序(MASM)对已编辑好的源程序文件(.ASM)进行汇编,将源程序文件中以ASCII码表示的助记符指令逐条翻译成机器码指令,并完成源程序中的伪指令所指出的各种操作,最后可以建立3个文件:扩展名为 .OBJ的目标文件、扩展名为 .LST 的列表文件和扩展名为 .CRF 的交叉索引文件。目标文件是必须建立的,它包含了程序中所有的机器码指令和伪指令指出的各种有关信息,但该文件中的操作数地址还不是内存的绝对地址,只是一个可浮动的相对地址。列表文件(.LST)中包含了源程序的全部信息(包括注释)和汇编后的目标程序,列表文件可以打印输出,可供调试检查用。交叉索引文件(.CRF)是用来了解源程序中各符号的定义和引用情况的。.LST和.CRF两个文件不是必须建立的,可有有无,可以通过汇编时的命令加以选择。 在对源程序文件(ASM文件)汇编时,汇编程序将对ASM文件进行两遍扫描,若程序文件中有语法错误,则结束汇编,汇编程序将指出源程序中存在的错误,这时应返回编辑环境修改源程序中的错误,再经过汇编,直到最后得到无错误的目标程序,即OBJ文件。因此,汇编程序的主要功能可以概括为以下三点:(1) 检查源程序中的语法错误,并给出错误信息;(2) 产生目标程序文件(OBJ文件),并可给出列表文件(.LST文件);(3) 展开宏指令。 汇编程序是系统提供的用于汇编的系统软件,目前常用的汇编程序有Microsoft公司推出的宏汇编程MASM(MACRO ASSEMBLER)和BORLAND公司推出的TASM(TURBO ASSEMBLER)两种。Microsoft公司推出有宏汇编程序MASM和小汇编程序ASM两种,二者的区别在于:MASM 有宏处理功能,而ASM没有宏处理功能,因此,MASM比ASM的功能强大,但MASM 需要占据较大的内存空间,当内存空间较小时(如64 KB),只能使用ASM。 2、目标程序的连接过程

单元3 软件使用及指令系统课题

单元三软件使用及指令系统课题 项目一相关软件的使用 (1) 项目二寻址方式及数据传送 (3) 项目三数据交换、堆栈、逻辑操作 (6) 项目四算术运算课题 (11) 项目五控制转移和子程序调用课题 (14) 项目一相关软件的使用 一、项目目的 1.掌握单片软件开发仿真的基本过程(编写源程序—编译—仿真运行—观察运行结果)。2.初步掌握源文件的编写,MASM51宏汇编软件的使用方法。 3.初步学习Debugger8051仿真软件的使用。 4.初步学习WAVE6000集成开发系统软件的使用。 二、项目设备 微机一台(WINDOWS98系统、安装好Debugger8051等相关软件) 三、项目内容 学习软件开发的的编写源程序、编译、仿真运行、观察结果的过程。下面以一个简单的例子加以说明。各软件的详细说明见第一章。 1.编写源程序。 源程序的编写可以使用任何一种文本编辑器,常用的有:WINDOWS自带的记事本、写字板程序,专用编辑软件UltraEdit,其它常用编辑软件等。在这里以记事本程序为例。 (1)点击开始\程序\附件,打开记事本程序,在编辑窗口中输入以下源程序。如图2-1-1所示。

图2-1-1 图2-1-2 (2)单击文件\保存,将文件保存为EX1_1.asm文件名。如图2-1-3所示。 图2-1-3 注意:文件保存时的扩展名最好取为.asm,以便后面进行编译。 2.源程序的编译 汇编源程序的编译可以采用多种软件进行,如MASM51软件等,集成的开发系统软件(如:伟福仿真器的WAVE6000软件、北理工的MCS51软件、KEIL C51软件等)均内部集成了编译程序,也可以完成编译功能。下面主要介绍MASM51软件编译过程。 (1)在WINDOWS中进入DOS命令行状态,在DOS系统的提示符下键入 C:\MASM51> MASM51 屏幕出现相应文字提示后,出现>提示符,进入MASM51环境。 (2)在MASM51环境提示符下键入 > ASM51 文件全路径\ex1.asm 对刚才的源文件进行编译,生成编译好的ex1.hex目标文件。生成的文件与源文件在一文件夹中。 (3)将源文件ex1.asm中的第二行改为MAV R0,A,将源文件另存为ex1r.asm,重复以上操作,对源文件进行编译,注意相应的出错提示。 3.软件仿真运行。 许多软件的都提供了软件仿真运行的功能,如:Debugger8051仿真软件,WAVE6000软件,KEIL C51软件等,但大部分都不能提供全速运行仿真能力(即在全速运行时不能实现观察运行结果)。只有Debugger8051仿真软件提供了这项功能。下面就以Debugger8051为例介绍。 (1)打开DBG8051软件仿真软件,选择方案\新建。选择EPROM菜单,选中“读intel hex”弹出如下窗口,选中刚才保存过的文件ex1.hex 。

微机原理实验3

《微机原理》上机实验 第一次实验内容 一、8086宏汇编系统盘构成 1. masm.exe 宏汇编系统程序 把汇编语言源程序(.asm)汇编成目标文件(.obj) 2. link.exe 连接程序 把目标文件(.obj)连接生成执行文件(.exe ) 3. cref.exe 索引程序 4.Lib.exe 库管理程序 5.https://www.doczj.com/doc/0b19508836.html, 汇编源程序编辑工具。 二、8086宏汇编上机实验步骤 第一步:编辑源程序(程序名.asm) Edit 程序名.asm (Alt+F 选择存盘) 第二步:对源程序(.asm)进行汇编 masm 程序名 (提示两个0 ,表示源程序,程序名.asm编辑正确,否则需进入第一步,修改源程序) 第三步:对目标文(.obj)件进行连接 Link 程序名 第四步:运行执行文件,查看结果

程序名 三、实验实例 1、利用8086宏汇编语言,编程在屏幕上显示“Hello!”程序清单: Data segment A db ‘Hello!$’ Data ends Code segment Assume cs:code,ds:data Start:mov ax,data Mov ds,ax Lea dx, a Mov ah,9 Int 21h Mov ah,4ch Int 21h Code ends End start 三、DEBUG上机 1. DEBUG常用命令

如何启动DEBUG? 在DOS提示符下,输入命令DEBUG 回车 出现_ 提示符,所有的DEBUG命令在_ 提示符下进行。 (1)汇编命令 格式:A [地址] (2)退出DEBUG命令 格式:Q (3)文件命名 格式:N 文件名 (4)显示寄存器内容 格式:R [寄存器名] (5)写盘命令 格式:W (6)运行命令 格式:G (7)单步执行命令 格式:T (8)反汇编命令 格式:U 实验二:利用DEBUG编程计算5+3,并显示结果。 程序指令清单

要建立和运行用户自己编写的汇编语言程序必须要有如下文

要建立和运行用户自己编写的汇编语言程序,必须要有如下文件:masm.exe(宏汇编程序)和 link.exe(连接程序) 汇编程序的上机过程: 1编辑源程序可以用记事本或DOS下的EDIT编辑器来编写源程序。但程序保存时文件的扩展名必须为.asm. 请编辑如下源程序 data segment s1 db ‘ hello,how are you!’,’$’ data ends stack segment para stack db 64 dup(?) stack ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax mov ah,9h mov dx,offset s1 int 21h mov ah,4ch int 21h code ends end start 2汇编程序计算机只能接收机器码,源程序经过汇编后可产生机器码的目标文件,扩展名为.obj。如果在源程序中有任何语法错误,宏汇编将会指出。必须

修改错误,直到汇编成功为止。 在DOS状态执行masm.exe,则屏幕显示与操作如下: Source filename [.asm]: lx1↙ Object filename [lx1.obj]: ↙ Source listing [nul.lst]: ↙ Cross-reference [nul.crf]: ↙ 0Warning Errors 0Severe Errors 其中画线部分为用户键入部分,lx1为源程序名,方括号中是机器规定的默认文件名。 3连接程序汇编后产生的目标文件必须经过连接,才能成为可执行文件.exe 在DOS状态执行link.exe,则屏幕显示与操作如下: Object Modules [.obj]: lx1↙ Run file [lx1.exe]: ↙ List file [nul.map]: ↙ Libraries [.lib]: ↙ 其中画线部分为用户键入部分,lx1为目标程序名,方括号内为机器默认文件名。 4执行程序在DOS状态执行lx1.exe,则屏幕显示如下: hello,how are you!

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

实验报告二 课程微机原理实验名称汇编语言程序上机过程以及调试第页专业电子信息班级__ __ 学号_ __ 姓名 实验日期: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,‘$’

汇编语言上机操作及程序调试的方法

汇编语言上机操作及程序调试的方法第一节在IBM-PC机上运行汇编源程序所必备的软件 为了在IBM-PC机上运行汇编源程序,机器上必须有DOS操作系统环境,DOS系统盘上应有下列文件: EDIT 文件编辑程序 MASM 宏汇编程序 CREF 交叉引用文件处理程序 LINK 链接程序 LIB 库管理程序 DEBUG 调试程序 第二节在IBM-PC机上运行汇编源程序的步骤 当用户编制好汇编语言源程序之后,要在机器上运行,必须经过以下几个步骤: 1.用EDIT命令建立与修改汇编源程序文件(ASM文件) 源程序就是用汇编语言的语句编写的程序,它不能被机器识别。源程序必须以ASM为附加文件名。至于EDIT的使用方法可以查阅手册。 2.用MASM命令汇编源文件以产生相应的目标文件(OBJ文件)源程序建立以后,必须经过汇编,转换成用二进制代码表示的目标文件,机器才可运行。汇编是通过调用PC—DOS下的宏汇编程序MASM实现的。汇编过程中,汇编程序对源文件进行二次扫描,如果源程序中有语法错误,则汇编过程结束后,汇编程序会指出源程序中的错误,这时,用户可以再用编辑程序来修改源程序中的错误,最后,得到没有语法错误的OBJ文件。 3.用LINK命令连接目标文件以产生可执行文件(EXE文件)由于汇编之后所得到的目标代码的存放地址并不是可执行的绝对地址,而是浮动的相对地址,因而,必须经过连接,把程序的各个模块连接在一起,或把要调用的子程序与主程序连接在一起,把相对地址变成绝对地址,形成可执行的文件。连接是由调用PC—DOS下的LINK程序来实现的。 4.调试、运行可执行文件。 经过以上过程,在盘上有了可执行文件,则可在DOS提示符下,直接打入文件名(不用扩展名),就可以把执行文件从盘上装入内存,且立即执行此程序。

《汇编语言》课程教学大纲

《汇编语言》课程教学大纲 一、课程基本信息课程代码:04140311 课程名称:汇编语言课程英文名称:Assembly Language Programming 课程所属单位:电气信息工程系电子信息教研室课程面向专业:电子信息工程、通信工程、自动化、电气工程及其自动化 课程类型:选修课先修课程:《计算机电路基础》、《C语言程序设计》等相关课程 学分:2.5总学时:48学时(其中理论学时:38学时,实验学时:10学时) 二、课程性质与目的汇编语言是一种面向机器的低级语言,它依赖于硬件,能通过巧妙的程序设计充分发挥硬件的潜力。通过学习该课程能比拟深入的了解计算机的全过程。初步掌握计算机的指令系统、运算方法及各硬件的作用和实现过程。为以后学习操作系统、各种高级语言、数据库和各种系统软件打下良好的基础。 三、课程教学内容与要求基础知识 教学内容与要求理解进位计数制与不同基数的数之间的转换、二进制数和十六进制数运算、计算机中数和字符的表示、几种基本的逻辑运算。 教学重点进位计数制、带符号数的表示、字符的表示、数据的校验。 教学难点机器数表示、补码转换。 80x86计算机组织教学内容与要求 理解80x86微处理器、基于微处理器的计算机系统构成。掌握中央处理机、存储器、外部设备。 2.教学重点计算机的基本概念、计算机系统的组成与层次结构、计算机的工作过程、数字计算机的特点与主要性能指标、计算机的开展与应用。 3.教学难点计算机的组成与层次结构、性能指标、计算机的工作过程;补码运算、微命令。 80x86的指令系统和寻址方式教学内容与要求 重点掌握80x86的寻址方式和80x86的指令系统。 教学重点指令系统的基本概念、808的088指令系统。 教学难点指令系统、指令执行过程。 汇编语言程序格式教学内容与要求 理解汇编程序功能:重点掌握伪操作和汇编语言程序格式:掌握汇编语言程序的上机过程。 教学重点汇编语言语句、汇编语言伪指令、汇编语言程序结构、宏操作伪指令、汇编语言程序的开发。 教学难点汇编语句、伪指令、编程调试;伪指令的使用。 循环与分支程序设计教学内容与要求 重点掌握顺序程序设计(含程序正确返回DOS问题)、循环程序设计、分支程序设计。 教学重点循环和分支程序设计。 教学难点程序设计的模式培养和各种形式程序设计以及应用。 子程序结构教学内容与要求 重点掌握子程序的设计方法;掌握子程序的嵌套。 教学重点子程序设计、系统功能子程序的调用。 教学难点程序设计、子程序设计及DOS功能调用。 高级汇编语言技术教学内容与要求 掌握宏汇编、重复汇编、条件汇编。 教学重点宏汇编、重复汇编和条件汇编。

汇编语言实验指导书 (3)

实验报告 实验课程:汇编语言 学生姓名:李斯超 学号:6100409010 专业班级:电三091班 2010年12月20日

目录 实验1 利用DEBUG调试汇编语言程序段实验2 初级程序的编写与调试实验(一)实验3 初级程序的编写与调试实验(二)实验4 汇编语言程序上机过程 实验5 分支程序实验 实验6 循环程序实验 实验7 子程序实验

实验1 利用DEBUG调试汇编语言程序段 一.实验目的 1.熟悉DEBUG有关命令的使用方法; 2.利用DEBUG掌握有关指令的功能; 3.利用DEBUG运行简单的程序段。 二.实验内容 1.进入和退出DEBUG程序; 2.学会DEBUG中的 1)D命令(显示内存数据D 段地址:偏移地址) 例1:-D100 2)E命令(修改指定内存) 例1:-E100 41 42 43 44 48 47 46 45 -D 100,L08 结果:08F1:0100 41 42 43 44 48 47 46 45 例2:-E 100: 08F1:0100 76 42 :42是操作员键入 此命令是将原100号内存内容76修改为42,用D命令可察看。 3)R命令(显示当前寄存器的内容) 4)T命令(设置陷井,单步执行) 5)A命令(将指令直接汇编成机器码输入到内存中。) 6)G命令等的使用(执行A命中输入的汇编指令) 3.用DEBUG,验证乘法、除法、加法、减法、带进位加、带借位减、堆栈操作指令、串操作指令的功能。 四.实验环境 PC微机 DOS操作系统或Windows 操作系统 MASM.EXE,LINK.EXE,https://www.doczj.com/doc/0b19508836.html,或宏汇编集成环境 五.实验步骤 1.在DOS提示符下,进入DEBUG程序; 在运行中输入cmd命令调出DOS窗口,在其中输入debug命令进入程序。 2.详细记录每一步所用的命令,以及查看结果的方法和具体结果。 (1)在debug中输入D查看当前数据数据段的断地址:偏移地址中的内容。如输入-d100,接着操作输入e命令,e命令可以修改指定的内存中的数据,如输入-e100

汇编语言实验讲义

汇编语言实验讲义 《汇编语言》实验讲义 《汇编语言》实验学时分配表序号 1 2 3 4 5 6 7 实验一汇编语言程序上机过程以及调试一、预习内容 1. 工具软件MASM、LINK的使用 2. 常用DEBUG命令的使用: G,D,R,T,U,Q 3. 完整程序设计方法的格式。二、目的要求 1. 掌握常用工具软件MASM、LINK的使用 2. 掌握常用DEBUG命令: G,D,R,T,U,Q 能灵活使用这些命令调试程序 3. 掌握完整程序设计方法的格式,能正确书写数据段,代码段等。三、实验内容 比较两个字符串string1和string2所含的字符是否相同,如果相同则显示’Match'否则显示’No match’.请读程序,并将程序补充完整。 DSEG SEGMENT string1 db 'Move the cursor backward.' string2 db 'Move the cursor backward.' mess1 db 'Match.',13,10,'$' mess2 db 'No match.',13,10,'$' DSEG ENDS CSEG SEGMENT assume cs:CSEG, ds:DSEG, es:DSEG, MAIN PROC FAR start: mov ax, dseg mov ds, ax mov es, ax lea si ,string1 实验项目名称汇编语言程序上机过程以及调试顺序程序设计循环程序设计分支程序设计子程序设计 I/O程序设计实验七综合程序设计合计实验学 时课内 2 2 2 2 2 2 2 14 课外 2 2 2 2 2 2 2 14 实验报告或作业 1 1 1 1 1 1 1 7 ① cld ② repz cmpsb jz match lea dx,mess2 jmp short disp match: lea dx,mess1 disp: mov ah,09h int 21h mov ax, 4c00h

相关主题
文本预览
相关文档 最新文档