实验01-Keil uVision编程平台与汇编指令练习

实验01-Keil uVision编程平台与汇编指令练习
实验01-Keil uVision编程平台与汇编指令练习

实验01 Keil μVision编程平台与汇编指令练习

一.实验目的:

1.熟悉uVision2集成调试环境

2.熟悉MCS-51寻址方式及传送类指令

二.uVision集成调试环境的使用

uVision是德国Keil Software公司用于多种嵌入式微处理器的一个理想、快速、可靠的程序调试器。此调试器包含一个高速模拟器

..整个8051系统,包括片上外围

...,能够让你模拟

器件和外部硬件。

1.创建项目

uVision2是以项目来管理你的任务,它可以使你的8051应用系统设计变得简单。要创建一个应用,你需要按下列步骤进行操作:

①第一次使用,首先为我们编写的实验程序在D盘上新建一个文件夹D:\单片机实验;

②启动uVision2,新建一个项目文件并从器件库中选择一个器件,操作步骤如下:

直接在桌面上点击uVision2程序图标就可以启动它。要新建一个项目文件,从uVision2的Project菜单中选择New Project,这将打开一个标准的Windows对话框,此对话框要求你输入项目文件名,例如为实验一新建项目:D:\单片机实验\ex1.vu2。

紧接着,Select Device for Target,即为你的项目选择一个CPU。我们选择Generic 下的8032。

2.新建一个源文件

你可以用菜单选项File-New来新建一个源文件。这将打开一个空的编辑窗口让你输入你的源代码。编辑后,我们把我们的实验程序保存为D:\单片机实验\dpj1.asm。

3. 将你的源文件加入到你的项目中

在你的Project Workspace窗口双击Target 1及Suorce Group 1,将你的目标系统一直展开到看到源文件组,如图1(a)所示。右击Suorce Group 1,出现Add files选项,选择它可打开一个标准的文件对话框,从对话框中选择你刚刚生成的文件dpj1.asm。

(a) (b)

图1

Suorce Group 1中的文件STARTUP.A51是大多数不同的8051CPU准备的启动代码。我们暂且先不用它,用右键点击删除它(Remove File ‘STARTUP.ASM’)。

现在你的项目中只包含一个源文件:dpj1.asm,如图1(b)。

4.编译(或汇编)你的源程序

依次点击Project、Build Target即可编译(或汇编)你的源程序(留意一下,在工具栏上可找到相应快捷按钮)。

在下面的输出窗口Output Window(如图2)可看到编译(汇编)的结果,应该没有错误才可继续下面实验。否则修改你的源程序,直到没有错误为止。

如图2

4.调试你的程序

依次点击Debug,Start/Stop Debug Session进入调试模式(也可利用快捷按钮,并且如再按一次该按钮,则又切回到程序编辑状态)。

你现在就可以采用指令单步、函数单步、运行到光标处行、连续运行等命令调试你的程序(这些命令在Debug下Step、Step over,Run to Cursor line、Go。也可利用快捷按钮)。你也可以设置断点后,连续执行程序进行调试。如程序运行到中间想从头再来,只要按RST 按钮即可。

常用调试快捷按钮

符号

说明

Rst Go Step into Step over

Run to Cursor

line

Start/Stop

Debug Session 复位连续运行指令单步函数单步

运行到光标

处行

调试模式/

编辑模式切换

5.存储器、寄存器的查看、修改

在调试程序时,经常需要查看存储器内容,你可以查看80C52内的4个存储器逻辑空间的任一个。

在调试模式下,依次点击View,Memory Window,你可以看到包含4个存储器空间的窗口,你在第一个存储器空间的Address栏内输入C:0,即可看到从0000H开始的一段程序存储内容;你也可以在其它Address栏内分别填入X:0、D:0、I:0就可以查看外部数据存储器空间、直接寻址的片内存储空间(包括片内00-7FH的RAM,及80H-0FFH的SFR)、间接寻址的片内存储空间(包括片内00-7FH的RAM,及8032的80H-0FFH的数据RAM)。

如要修改Memory Window内存储单元内容,可用鼠标右键点击选定存储单元,根据提示即可修改。

在Project Workspace窗口,你还可以看到8031的所有寄存器,这对调试程序也很重要。

如要查看单片机的外围部件,像端口P0-P3,定时器T0、T1等,可点击Peripherals。三.传送类指令练习

MCS-51单片机的存储空间如表所示:

数据空间程序空间

片内/

片外

片内片外片内片外

寻址方式RAM

直接

间接

SFR

直接

寻址

RAM

间接

寻址

RAM

间接

寻址

ROM

间接

寻址

ROM

间接

寻址

ROM

间接

寻址

空间

范围

00-7FH 80-FFH 80H-FFH 0000-FFFFH 0000-0FFFH 0000-0FFFH 1000H-0FFFFH 表示

方法

DATA SFR IDATA XDA TA CODE CODE CODE

1.直接寻址只能在DATA 区和SFR 中进行,如下例

ORG 0000H

LJMP START

ORG 0100H

START: ; 此处加入RAM的初始化程序(见下文)

MOV A, 03H ; 把地址03H 中的数移入累加器

MOV 43H, 22H ; 把地址22H 中的数移入地址43H 中

MOV 02H, C ; 把Cy中的数移入位地址02H 中

MOV 42H, #18H ; 把立即数18 移入地址42H 中

MOV 09H, P1 ; 把端口1中的数移入地址09H 中

SJMP $

END

2.间接寻址要使用DPTR,PC ,R0,R1 寄存器作为指针访问各存储器。可访问的空间为CODE、IDATA、XDATA存储区,对DATA 存储区也可进行间接寻址。只能用直接寻址方式对位地址进行寻址。

DATA和IDATA 区寻址:

MOV R1, #22H ; 设置R1 为指向DATA 区内的地址22H 的指针

MOV R0, #0A9H; 设置R0 为指向IDATA 区内的地址0A9H 的指针

MOV A, @R1; 读入地址22H 的数据

MOV @R0, A; 将累加器中的数据写入地址A9H

INC R0; RO 中的地址变为AAH

INC R1; R1 中的地址变为23H

MOV 34H, @R0 ; 将地址AAH 中的数据写入34H

MOV @R1, #67H ; 把立即数写入地址23H

XDATA 区寻址:

MOV DPTR, #3048H ; DPTR 指向外部存储区

MOVX A, @DPTR ; 读入外部存储区地址3048H 中的数

INC DPTR; 指针加一

MOV A, #26H ; 立即数26H 写入A 中

MOVX @DPTR, A ; 将26H 写入外部存储区地址3049H 中

MOV R0, #87H ; R0 指向外部存储区地址87H

MOVX A, @R0 ; 将外部存储区地址87H 中的数读入累加器中

CODE区寻址:

两种方法查CODE区的平方表:

ORG 0000H

LJMP START

ORG 0100H

START: MOV DPTR, #TABLE_BASE ; DPTR 指向表首地址

MOV A, #5; 把偏移量(立即数5)装入累加器中

MOVC A, @A+DPTR ; 从表中读出数据到累加器中(5的平方)

SJMP INDEX2

TABLE_BASE:

DB 0,1,4,9,16,25,36; 平方表

INDEX2: MOV A, #5; 把偏移量(立即数5)装入累加器中

ADD A, #2; 由于SJMP EXIT指令占用2字节,修正偏移量

MOVC A, @A+PC; 从表中读出数据到累加器中(5的平方)

SJMP EXIT

DB 0,1,4,9,16,25,36; 平方表

EXIT: SJMP $

四.实验步骤

1.熟悉uVision集成调试环境的使用。

2.根据uVision集成调试环境的使用方法,新建一源程序文本文档,并将上述字体为蓝色

的程序录入。

3.在已录入的主程序开头加入如下程序段,对RAM进行初始化

;Initial the RAM

MOV A, #0

MOV R0, #7FH

INI: MOV @R0, A

INC A

DJNZ R0, INI

4.在录入的程序最后加上:END作为程序结束

5.保存文件名为“dpj1.asm”(如该文件已存在,也可存为其它*.asm文件)。

6.切换到调试模式,先将光标置于上述内存初始化程序的下一行,也即第2步录入的正式

程序的第一行,利用Run to Cursor line,直接将程序运行到正式程序的第一行。

7.单步逐条向下执行指令。每执行一条指令,都要分析一下指令源操作数、目的操作数在

存储空间的哪个单元,看一看你所理解的指令执行结果与实际运行结果是否符合,并且把每条指令执行后目的操作数的值记录下来。

8.将实验结果整理后写到实验报告上。

微机原理实验一报告

2.1 寻址方式与基本指令实验 2.1.1 实验目的 1、熟悉80x86寻址方式及基本指令的功能,进一步理解和巩固课堂学习内容。 2、掌握汇编语言程序设计上机过程, 掌握汇编语言源程序结构,为后续汇编语言程序设计 打好基础。 3、熟悉Microsoft的DEBUG或Borland的Turbo DEBUG调试工具的使用方法 2.1.2 实验预习要求 1、认真阅读本书第一部分第1章,熟悉汇编语言程序设计上机步骤。 2、认真阅读本书第三部分,熟悉DEBUG调试工具的使用方法。 3、复习80x86操作数寻址方式及基本指令(数据传送、算术运算和逻辑运算等)。 4、了解实验内容,并在实验前根据课堂所学知识回答有关问题(个别取决于程序实际运行 环境的问题除外),以便在实验时进行验证。 2.1.3 实验内容 1、读懂下面的源程序,使用EDIT生成名为EX11.ASM的源程序,汇编生成EX11.OBJ文件和EX11.LST文件,连接生成EX11.EXE文件,用EXIT打开EX11.LST文件,了解.LST 文件包含的信息,使用DEBUG调试工具单步执行EX11.EXE程序,注意观察IP值的变化,并回答下列问题。 ○1程序装入后,代码段寄存器CS的内容为1138H,代码段第一条可执行指令“MOV AX DA TA”对应的机器代码为0000B83711H,它是一个——字节指令,注意观察执行该指令是IP 值的变化情况,该指令源操作数DATA的寻址方式是立即数寻址方式,其值是1137。 ○2执行完“MOVDSDA TA”指令后,数据段寄存器DS的内容为1127H,源程序在数据段中定义的数据82H、68H和88H被装入的存储单元的物理地址分别为11270H、11271H和11272H。 ○3程序中第一条“ADDAL[BX]”指令对应的机器代码为0008 8A07H,它是一个四字节指令,注意观察执行该指令时IP值的变化情况;该指令中源操作数的寻址方式为寄存器间接寻址方式,该操作数所在的存储单元的逻辑地址(DS):(BX)为1137:0000,其物理地址为11370H,执行完该指令后(AL)=37H,CF=0H,OF=0H,ZF=0H,SF=0H,AF=0H,PF=0H;计算结果正确,结果是负数 ○4执行完第二条“ADD AL [BX]”指令后(AL)=82H,CF=0H,OF=0H,ZF=0H,SF=1H,AF=0H,PF=0H;计算结果正确,结果是负数 ○5指令“MOV SUM,AL”中,目的操作数的寻址方式为寄存器直接寻址方式。该指令执行完后,注意观察(DS):0003H单元中值的变化,该单元值变为00H。 DA TA SEGMENT NUM DB 82H,68H,88H SUM DB ? DA TA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DA TA START: MOV AX,DA TA MOV DS,AX

指令系统和汇编语言程序的设计实验

第二章指令系统和汇编语言程序设计实验 本章实验主要包括指令系统和汇编语言程序设计两部分。采用软件模拟调试的方法, 目的在于通过这些实验可以使学生巩固所学知识, 加深对 MCS-51单片机部结构、指令系统的理解,更进一步掌握汇编语言程序设计的方法和技巧。 第一节指令系统实验 实验一熟悉键盘操作及数传指令编程设计 一、实验目的 1.熟悉软件模拟调试的环境及键盘操作。 2.掌握汇编语言程序设计的方法,加深对指令的理解。 3.学会软件模拟调试和察看修改观察项的方法。 二、实验容 印证数据传送指令的功能、寻址方式以及 PC 指针、 SP 指针、 DPTR 指针、Ri 指针分别对代码段、堆栈段、外扩数据存储器段、位寻址区等不同存储器的访问方式。 三、实验步骤 1.进入调试软件环境,输入源程序; 2.汇编源程序; 3.用单步方式运行程序; 4.检查并记录各寄存器和存储单元容的变化。 四、程序清单

1. 部 RAM 数据传送 需要查看的数据有 30H,31H,A,R0等。 ORG 0000H MOV R0,#30H MOV 30H,#45H MOV 31H,#46H MOV R2,30H MOV 02H,31H MOV A,#87H MOV 0E0H,30H MOV 30H,A MOV 31H,R0 SJMP $ END 2. 外部数据传送 需要查看的数据有外部数据存储器单元 2000H ,外部程序存储器单元2001H 。 ORG 0000H MOV A,#89H MOV DPTR,#2000H

MOVX DPTR,A INC DPTR CLR A MOVC A,A+DPTR SJMP $ ORG 2000H DB 44H DB 78H DB 67H END 3. 堆栈操作 需要查看的数据有 50H 、 51H 、 A 及 SP 指针和堆栈区中数据随 PUSH 和POP 指令执行后的变化情况和数据的存放次序等。 1 可用于保护现场和恢复现场的程序 ORG 0000H MOV SP,#5FH MOV 50H,#3BH MOV 51H,#2FH MOV A,#12H

实验1-ARM汇编指令基础

实验一ARM汇编指令基础 学号:姓名: 一、实验目的 ●初步学会使用Embest IDE for ARM 开发环境及ARM软件模拟器; ●通过实验掌握简单ARM汇编指令的使用方法。 二、实验原理 ARM处理器共有37个寄存器: ●31个通用寄存器,包括程序计数器(PC)。这些寄存器都是32位。 ●6个状态寄存器。这些寄存器也是32位,但只使用了其中的12位。 1.ARM通用寄存器 通用寄存器(R0~R15)可分为3类。 1)不分组寄存器R0~R7 R0~R7是不分组寄存器。在所有处理器模式下,它们都能被访问。它们是真正的通用寄存器,没有体系结构所隐含的特殊用途。 2)分组寄存器R8~R14 R8~R14是分组寄存器。被访问的物理寄存器取决于当前的处理器模式。若要访问特定的物理寄存器而不依赖当前的处理器模式,则要使用规定的名字。 寄存器R8~R12各有两组物理寄存器:一组为FIQ模式,另一组为除了FIQ模式以外的所有模式。R8~R12没有任何指定的特殊用途。只是使用R8~R12来简单地处理中断。寄存器R13和寄存器R14各有6个分组的物理寄存器,1个用于用户模式和系统模式,其他5个分别用于5种异常模式。R13通常用作堆栈指针,称作SP。每种异常模式都有自己

的R13。R14用作子程序链接寄存器,也称作LR 。 3) 程序计数器R15 寄存器R15用作程序计数器(PC )。 本实验中,ARM 核工作在用户模式,R0~R15可用。 2. 存储器格式 ARM 体系结构可以用两种方法存储字数据,分别称为大端格式和小端格式。 1) 大端格式 在这种格式中,字数据的高位字节存储在低地址中,而字数据的低位字节存 放在高地址中,如下所示: 高地址 31 23 22 16 15 8 7 0 字地址 低地址 2) 小 端格式 在这种格式中,字数据的高位字节存储在高地址中,而字数据的低位字节存 放在低地址中,如下所示: 高地址 31 23 22 16 15 8 7 0 字地址 低地址 3.GNU 基础知识 Embest IDE 集成了GNU 汇编器as 、编译器gcc 和链接器ld 。因此,编写程序要符合GNU 的语法和规则。这里简单介绍几点基本知识: 8 4 0 8 4 0

计算机组成原理实验1-汇编语言实验

微处理器与接口技术 实验指导

实验一监控程序与汇编语言程序设计实验 一、实验要求 1、实验之前认真预习,明确实验的目的和具体实验内容,设计好主要的待实验的程序,做好实验之前的必要准备。 2、想好实验的操作步骤,明确通过实验到底可以学习哪些知识,想一想怎么样有意识地提高教学实验的真正效果。 3、在教学实验过程中,要爱护教学实验设备,认真记录和仔细分析遇到的现象与问题,找出解决问题的办法,有意识地提高自己创新思维能力。 4、实验之后认真写出实验报告,重点在于预习时准备的内容,实验数据,实验过程、遇到的现象和解决问题的办法,自己的收获体会,对改进教学实验安排的建议等。善于总结和发现问题,写好实验报告是培养实际工作能力非常重要的一个环节,应给以足够的重视。 二、实验目的 【1】学习和了解TEC-XP16教学实验系统监控命令的用法; 【2】学习和了解TEC-XP16教学实验系统的指令系统;

【3】学习简单的TEC-XP16教学实验系统汇编程序设计。 三、实验注意事项 (一)实验箱检查 【1】连接电源线和通讯线前TEC-XP16实验系统的电源开关一定要处于断开状态,否则可能会对TEC-XP16实验系统上的芯片和PC机的串口造成损害。 【2】五位控制开关的功能示意图如下: 【3】几种常用的工作方式【开关拨到上方表示为1,拨到下方为0】 (二)软件操作注意事项 【1】用户在选择串口时,选定的是PC机的串口1或串口2,而不是TEC-XP16实验系统上的串口。即选定的是用户实验时通讯线接的PC机的端口; 【2】如果在运行到第五步时没有出现应该出现的界面,用户需要检查是不是打开了两个软件界面,若是,关掉其中一个再试; 【3】有时若TEC-XP16实验系统不通讯,也可以重新启动软件或是重新启动PC再试; 【4】在打开该应用软件时,其它的同样会用到该串口的应用软件要先关掉。

汇编语言实验一

淮阴工学院 汇编语言程序设计实验报告 选题名称:实验一调试工具的使用方法训练 系(院):计算机工程学院 专业:计算机科学与技术 班级: 1101 姓名:康志杰学号: 1101301132 指导教师:王福德 学年学期:2013 学年第 2 学期 2013 年 4 月15 日

实验一利用DEBUG调试程序调试程序段 <1 > 实验目的: (1)熟悉DEBUG有关命令的使用方法 (2)利用DEBUG掌握有关指令的功能 (3)利用DEBUG运行简单的程序段 <2 > 实验内容 (1)进入和退出DEBUG程序 1)开始——运行,输入cmd,点确定或回车键进入DOS环境 2)在命令窗口输入debug进入debug程序 3)进入debug程序后,按q退出

(2) 学会DEBUG中的D命令、E命令、R命令、T命令、A命令、G命令等的使用。对于U命 令、N命令、W命令等,也应试一下。 1 显示存储器单元命令D 格式:D [<地址范围>] 功能:显示指定地址范围内的存储区数据,包括十六进制数据形式及其对应的ASCII码字符显示。 2 写存储器单元命令E 格式:E <地址> [<字符串>] 功能:逐个修改指定单元内容或将字节串写入指定的一组连续单元。 例:将字节串′computer′写入以100H为起始地址的存储器区。 -E 100′computer′ 3显示和修改某个指定寄存器内容, 格式为:-R 寄存器名 例如打入:-R AX 系统将响应如下: AX 0000

: 表示AX当前内容为0000,此时若不对其作修改,可按ENTER键,否则,打入修改后内容,如: -R BX BX 0000 :1000 则BX内容由0000改为1000 4显示和修改标志位状态, 命令格式为:-RF 系统将给出响应,如 NV UP EI PL NZ NA PO NC- 这时若不作修改可按ENTER键,否则在“-”号之后键入修改值,键入顺序任意。如 NV UP EI PL NZ NA PO NC-ZR CY

实验一--掌握DEBUG-的基本命令及其功能

实验一掌握DEBUG 基本命令及其功能【上篇】查看CPU和内存,用机器指令和汇编指令编程 一.实验目的: 掌握DEBUG 的基本命令及其功能 掌握win7 win8 使用DEBUG功能 二.实验内容: 1. 预备知识:Debug的使用 (1) 什么是Debug? Debug是DOS、Windows都提供的实模式(8086方式)程序的调试工具。使用它,可以查看CPU各种寄存器中的内容、内存的情况和在机器码级跟踪程序的运行。 (2) 我们用到的Debug功能 ●用Debug的R命令查看、改变CPU寄存器的内容; ●用Debug的D命令查看内存中的内容; ●用Debug的E命令改写内存中的内容; ●用Debug的U命令将内存中的机器指令翻译成汇编指令; ●用Debug的T命令执行一条机器指令; ●用Debug的A命令以汇编指令的格式在内存中写入一条机器指令。 (3) 进入Debug Debug是在DOS方式下使用的程序。我们在进入Debug前,应先进入到DOS方式。用以下方式可以进入DOS: ①重新启动计算机,进入DOS方式,此时进入的是实模式的DOS。 ②在Windows中进入DOS方式,此时进入的是虚拟8086模式的DOS。 三.实验任务 1. 从网上下载Dosbox和debug.exe(文件夹中有)。 2. debug.exe放在D:根目录,然后安装,安装完成以后,点击快捷方式进入Dos界面:

3.输入mount c d:\ 接着输入c: Dosbox 5.接着,你就可以使用Debug: debug 6.备注:debug.exe放在D:根目录下,你也可以把debug.exe放在任何一个文件夹下面。 其中这个文件夹就是mount c d:所对应的。 一.(1) 使用Debug,将下面的程序段写入内存,逐条执行,观察每条指令执行后,CPU 中相关寄存器中内容的变化。(逐条执行,每条指令执行结果截图) 机器码汇编指令 b8 20 4e mov ax,4E20H 05 16 14 add ax,1416H bb 00 20 mov bx,2000H 01 d8 add ax,bx 89 c3 mov bx,ax

第3章-MCS-51系列单片机的指令系统和汇编语言程序范文

第3章MCS一51系列单片机的指令系统 和汇编语言程序 3·1汇编指令 3·1·1请阐明机器语言、汇编语言、高级语言三者的主要区别,进一步说明为什么这三种语言缺一不可。 3·1·2请总结: (1)汇编语言程序的优缺点和适用场合。 (2)学习微机原理课程时,为什么一定要学汇编语言程序? 3·1·3MCS一51系列单片机的寻址方式有哪儿种?请列表分析各种寻址方式的访问对象与寻址范围。 3·1·4要访问片内RAM,可有哪几种寻址方式? 3·1·5要访问片外RAM,有哪几种寻址方式? 3·1·6要访问ROM,又有哪几种寻址方式? 3·1·7试按寻址方式对MCS一51系列单片机的各指令重新进行归类(一般根据源操作数寻址方式归类,程序转移类指令例外)。 3·1·8试分别针对51子系列与52子系列,说明MOV A,direct指令与MOV A,@Rj 指令的访问范围。 3·1·9传送类指令中哪几个小类是访问RAM的?哪几个小类是访问ROM的?为什么访问ROM的指令那么少?CPU访问ROM多不多?什么时候需要访问ROM? 3·1·10试绘图示明MCS一51系列单片机数据传送类指令可满足的各种传送关系。3·1·11请选用指令,分别达到下列操作: (1)将累加器内容送工作寄存器R6. (2)将累加器内容送片内RAM的7BH单元。 (3)将累加器内容送片外RAM的7BH单元。 (4)将累加器内容送片外RAM的007BH单元。 (5)将ROM007BH单元内容送累加器。 3·1·12 区分下列指令的不同功能: (l)MOV A,#24H 与MOV A.24H (2)MOV A,R0与MOV A,@R0 (3)MOV A,@R0与MOVX A,@R0 3·1·13设片内RAM 30H单元的内容为40H; 片内RAM 40H单元的内容为l0H; 片内RAM l0H单元的内容为00H; (Pl)=0CAH。 请写出下列各指令的机器码与执行下列指令后的结果(指各有关寄存器、RAM单元与端口的内容)。 MOV R0,#30H MOV A,@R0 MOV RI,A MOV B,@Rl MOV @R0,Pl MOV P3,Pl MOV l0H,#20H MOV 30H,l0H

汇编语言指令系统.

汇编语言--指令系统整理总结--转贴 2007-05-1722:36 对于计算机软件专业的学生,适当的学习一些汇编语言知识,我认为很重要,有助于你对于计算机底层工作的了解,帮助你更好的理解计算机高级语言,汇编原理,也对于学习操作系统很有帮助... 近来自己在学汇编语言... 整理总结了常用的一些指令,认为对于学习汇编的龙友会有一些帮助以下内容均为个人整理...错误不当之处还望大家指出更正..谢谢..每条指令均按照 1、指令的汇编格式 2、指令的基本功能 3、指令的寻址方式 4、指令对标志位的影响 5、指令的特殊要求 这 5条内容的形式来对每条指令进行归纳总结.... [数据传送指令] 一、通用数据传送指令 1、传送指令 MOV (move 指令的汇编格式:MOVDST,SRC 指令的基本功能:(DST<-(SRC将原操作数(字节或字传送到目的地址。 指令支持的寻址方式:目的操作数和源操作数不能同时用存储器寻址方式, 这个限制适用于所有指令。指令的执行对标志位的影响:不影响标志位。 指令的特殊要求:目的操作数 DST 和源操作数 SRC 不允许同时为段寄存器; 目的操作数 DST 不能是 CS,也不能用立即数方式。 2、进栈指令 PUSH (pushonto the stack

出栈指令 POP (popfrom the stack 指令的汇编格式:PUSHSRC ;POP DST 指令的基本功能:PUSH指令在程序中常用来暂存某些数据,而 POP 指令又可将这些数据恢复。 PUSH SRC (SP<-(SP-2;(SP<-(SRC POP DST (DST<-((SP;(SP<-(SP 指令支持的寻址方式:push和 pop 指令不能不能使用立即数寻址方式。 指令对标志位的影响:PUSH和 POP 指令都不影响标志位。 指令的特殊要求:PUSH 和 POP 指令只能是字操作, 因此, 存取字数据后, SP 的修改必须是+2或者 -2; POP 指令的 DST 不允许是 CS 寄存器; 3、交换指令 XCHG (exchange 指令的汇编格式:XCHGOPR1,OPR2 指令的基本功能:(OPR1<->(OPR2 指令支持的寻址方式:一个操作数必须在寄存器中,另一个操作数可以在寄存器或存储器中。 指令对标志位的影戏:不影响标志位。 指令的特殊要求:不允许使用段寄存器。 二、累加器专用传送指令 4、输入指令 IN (input 输出指令 OUT (output 指令的汇编格式:INac,port port<=0FFH

汇编实验报告1

汇编语言上机实验报告 时间: 地点: 实验人员: 实验二 一、题目 1、《80X86汇编语言程序设计》教材中 P95的 3.7 题。 要求:(1)将该题改成一完整的程序(可以省略实验报告中的程序框图)。 (2)请事先指出依次执行每条程序指令后(AX)的内容。 (3)请事先指出执行ADD、SUB、SAL、RCL指令后,CF、ZF的值。 (4)记录上机执行后与(2)、(3) 中对应的内容。 说明:MOV 指令不影响标志位,DEC指令不影响CF标志位,NOT 指令不影响标志位。 2、《80X86汇编语言程序设计》教材中 P94的 3.3 题。 要求:(1)将该题改成一完整的程序,其中数据段的定义为习题3.1中的数据段(可以省略实验报告中的程序框图)。 (2)请事先画出数据段中数据的存储形式。 (3)请事先指出依次执行每条程序指令后相应寄存器中的内容。 (4)请事先给出各调指令在汇编后的形式。 (5)比较上机执行后,看到的各项内容是否与(2)、(3) ,(4)内容一致。不一致的应分析错误原因。 说明:MOV BX, OFFSET STR1+3 对应的汇编后的指令为:MOV BX, 3 MOV BX, STR1 对应的汇编后的指令为:MOV BX, [0000] (上条指令等价于MOV BX, DS:[0000] ) 3、《80X86汇编语言程序设计》教材中 P96的 3.11 题。 要求:(1)请事先指出程序运行结束后,显示器显示的内容。 (2)若将NUM的定义改成如下形式: NUM DB 35 显示的结果是什么? (3)若将NUM的定义改成如下形式: NUM DB 59 显示的结果是什么? (4)指出程序运行后看到的结果,若不一致,分析产生错误的原因。 4. 从键盘输入两串字符分别存入BUF1和BUF2区,比较两串内容是否相等, 相等显示“MATCH !”, 不相等显示“NO MATCH !”。 要求:(1) 使用10号功能调用输入字符串; (2) 使用9号功能调用输出提示信息; 提示:先比较长度是否相等。 5 选做题 输入一个无符号的数字串,然后以16进制形式显示出串的值。 例如: INPUT A NUMBER : 59

实验二 常用命令操作实验报告

实验二 常用命令操作实验报告 1、 实验目的 1. 熟悉Linux文件系统结构 2. 掌握文本操作命令 3. 掌握文件、目录操作命令 2、 实验内容 1. 显示、改变文件目录 2. 显示文本文件 3. 匹配文本文件 4. 文本文件排序 5. 复制、删除、移动文件 6. 复制、删除、移动目录文件 7. 建立硬连接、符号连接文件,理解文件i节点和链接数 3、 实验准备 1. 从20 2.117.179.110下载SSH客户端软件PieTTy.exe,使用该虚拟 终端登录主机120.95.134.104完成本实验 2. 主机120.95.134.104目录/var/xg11x下保存了本实验用到文件4、 步骤和要求 1. 登录主机120.95.134.104 用户名:学号 口令:学号 2. 练习cd、ls、pwd命令,理解显示信息意义 命令显示信息以及意义 mesg n决定是否允许其他人传讯息到自己的终端机介面。 y允许讯息传到终端机介面上;n不允许讯息传到终 端机介面上 。

pwd显示当前的工作路径为/home/2011013304 cd / 进入根目录 pwd显示当前工作路径为/ cd /home进入home目录 pwd显示当前工作路径为/home cd 个人学号进入用户主目录 pwd显示当前工作路径为/home/2011013304 cd ..返回上上级目录,即为home目录 cd /个人学号进入根目录下的2011013304文件,由于此文件在根 目录下不存在,故出错。 Cd返回用户主目录 cd /var/xg11x进入xg11x目录下,但此目录不存在 pwd 显示当前工作路径。仍为/home/2011013304 cd .. 返回上上级目录 pwd显示当前目录/home cd返回用户主目录 ls –l列出当前路径下的文件名称,并以长格式显示文件 信息 ls –l .列出当前路径下的文件名称,并以长格式显示文件 信息 ls –ld .列出当前目录下文件的详细信息 ls –ld /home列出/home目录下的文件详细信息 ls –ld /home/列出/home/2011013304目录下的详细信息

指令系统及汇编语言程序设计

第3章指令系统及汇编语言程序设计 一、简答题 1、80C51系列单片机的指令系统有何特点? 2、80C51单片机有哪几种寻址方式?各寻址方式所对应的寄存器或存储器空间如何? 3、访问特殊功能寄存器SFR可以采用哪些寻址方式? 4、访问内部RAM单元可以采用哪些寻址方式? 5、访问外部RAM单元可以采用哪些寻址方式? 6、访问外部程序存储器可以采用哪些寻址方式? 7、为什么说布尔处理功能是80C51单片机的重要特点? 8、对于80C52单片机内部RAM还存在高128字节,应采用何种方式访问? 9、试根据指令编码表写出下列指令的机器码。 (1)MOV A,#88H (2)MOV R3,50H (3)MOV P1.1,#55H (4)ADD A,@R1 (5)SETB 12H 10、完成某种操作可以采用几条指令构成的指令序列实现,试写出完成以下每种操作的指 令序列。 (1)将R0的内容传送到R1; (2)内部RAM单元60H的内容传送到寄存器R2; (3)外部RAM单元1000H的内容传送到内部RAM单元60H; (4)外部RAM单元1000H的内容传送到寄存器R2; (5)外部RAM单元1000H的内容传送到外部RAM单元2000H。 11、11、若(R1)=30H,(A)=40H,(30H)=60H,(40H)=08H。试分析执行下列程序段 后上述各单元内容的变化。 MOV A,@R1 MOV @R1,40H MOV 40H,A MOV R1,#7FH 12、若(A)=E8H,(R0)=40H,(R1)=20H,(R4)=3AH,(40H)=2CH,(20)=0FH, 试写出下列各指令独立执行后有关寄存器和存储单元的内容?若该指令影响标志位,试指 出CY、AC、和OV的值。 (1)MOV A,@R0 (2)ANL 40H,#0FH (3)ADD A,R4 (4)SWAP A (5)DEC @R1 (6)XCHD A,@R1 13、若(50H)=40H,试写出执行以下程序段后累加器A、寄存器R0及内部RAM的40H、41H、 42H单元中的内容各为多少? MOV A,50H MOV R0,A MOV A,#00H MOV @R0,A MOV A,3BH MOV 41H,A MOV 42H,41H 14、试用位操作指令实现下列逻辑操作。要求不得改变未涉及的位的内容。

汇编语言指令

汇编语言指令集 数据传送指令集 MOV 功能: 把源操作数送给目的操作数 语法: MOV 目的操作数,源操作数 格式: MOV r1,r2 MOV r,m MOV m,r MOV r,data XCHG 功能: 交换两个操作数的数据 语法: XCHG 格式: XCHG r1,r2 XCHG m,r XCHG r,m PUSH,POP 功能: 把操作数压入或取出堆栈 语法: PUSH 操作数POP 操作数 格式: PUSH r PUSH M PUSH data POP r POP m PUSHF,POPF,PUSHA,POPA 功能: 堆栈指令群 格式: PUSHF POPF PUSHA POPA LEA,LDS,LES 功能: 取地址至寄存器 语法: LEA r,m LDS r,m LES r,m XLAT(XLATB) 功能: 查表指令 语法: XLAT XLAT m 算数运算指令 ADD,ADC 功能: 加法指令 语法: ADD OP1,OP2 ADC OP1,OP2 格式: ADD r1,r2 ADD r,m ADD m,r ADD r,data 影响标志: C,P,A,Z,S,O SUB,SBB 功能:减法指令 语法: SUB OP1,OP2 SBB OP1,OP2

格式: SUB r1,r2 SUB r,m SUB m,r SUB r,data SUB m,data 影响标志: C,P,A,Z,S,O INC,DEC 功能: 把OP的值加一或减一 语法: INC OP DEC OP 格式: INC r/m DEC r/m 影响标志: P,A,Z,S,O NEG 功能: 将OP的符号反相(取二进制补码) 语法: NEG OP 格式: NEG r/m 影响标志: C,P,A,Z,S,O MUL,IMUL 功能: 乘法指令 语法: MUL OP IMUL OP 格式: MUL r/m IMUL r/m 影响标志: C,P,A,Z,S,O(仅IMUL会影响S标志) DIV,IDIV 功能:除法指令 语法: DIV OP IDIV OP 格式: DIV r/m IDIV r/m CBW,CWD 功能: 有符号数扩展指令 语法: CBW CWD AAA,AAS,AAM,AAD 功能: 非压BCD码运算调整指令 语法: AAA AAS AAM AAD 影响标志: A,C(AAA,AAS) S,Z,P(AAM,AAD) DAA,DAS 功能: 压缩BCD码调整指令 语法: DAA DAS 影响标志: C,P,A,Z,S 位运算指令集 AND,OR,XOR,NOT,TEST 功能: 执行BIT与BIT之间的逻辑运算 语法: AND r/m,r/m/data OR r/m,r/m/data XOR r/m,r/m/data TEST r/m,r/m/data NOT r/m 影响标志: C,O,P,Z,S(其中C与O两个标志会被设为0) NOT指令不影响任何标志位SHR,SHL,SAR,SAL 功能: 移位指令 语法: SHR r/m,data/CL SHL r/m,data/CL SAR r/m,data/CL SAL r/m,data/CL 影响标志: C,P,Z,S,O ROR,ROL,RCR,RCL

实验01 汇编指令实验——作业1

实验一汇编指令实验 一、实验目的 1、初步掌握开发环境及ARM软件模拟器。 2、掌握简单的ARM、THUMB汇编指令的使用方法。 3、通过实验观察不同类型指令的工作原理。 二、实验步骤 (一)、掌握ARM程序开发环境RealView MDK。 1、在“我的电脑”中新建一个目录,比如:“Exp01”。(注意:目录尽量建立在自带的U盘上,以防实验工程被还原) 2、打开Keil uVision软件,点击菜单中的“File->Project->New uVision Project”选项,启动新建工程向导程序,新建一个uVision工程。工程文件保存在第1步创建的目录中,工程命名为:“Exp01”。 图1 新建工程向导启动

图2 向导开始首先为新建工程命名为:Exp01 3、新建工程向导的第一步是:选择设备即处理器的选择(Select Device for Target ‘Target1’)。在对话框的左下方有一个 列表,列表中选择“NXP->LPC2138”。注:LPC2138是实验箱采用的ARM芯片型号。

图3 向导第1步,设置处理器类型 点击确定按钮后,向导程序会弹出一个“提示框”。这个提示框是询问你是否要向工程中添加LPC2000系列处理器的启动代码。这里可以点击“否”按钮。注:启动文件在生成可下载的运行文件时是必须的,这里只是测试汇编程序所以不需要启动文件。 图4 添加启动代码 4、工程建立完成后,uVision软件的主窗口左边就是工程空间浏览器窗口。可以看到已经建立好的工程默认处理器名:“Target 1”,默认源文件组名:“Source Group 1”。

PLC基本指令训练实验报告要求

实验二 PLC 基本指令训练实验 一、实验目的 1.掌握编程器的键盘操作 2.学会程序的输入和指令的增删 3.加深对常用指令的理解 二、实验设备(记录下仪器、设备的规格、型号及数量) 三、实验内容(包括梯形图、指令表、数据、时序图)实验中作好纪录 (一) PRO15编程器基本操作 1.开机: 将编程开关,拨至右端 2.清零: (1)屏幕清零 (2)内存清零 当完成步骤(1)后,继续下面操作 3.键入程序练习: 椐实验教材内容进行,每键入一条指令后,按 键即进入内存。 指令上下滚动显示 4.修改程序: (1)如改本行程序,只需写入正确程序后按即可。 (2 )删除本行指令时,按 即可。 (3 )插入程序,① 回到初始程序行(即屏幕清零) ② 键入待插入的地址码,写入新指令。 5.运行程序: 将编程开关,拨至左端 (二) 基本指令训练(写出指令表,记录数据或时序图) 1.逻辑指令实验 0500 0007 END 00070500ON OFF 0501 0007 END 00070501ON OFF

0500 0002 END 00020500ON OFF 0000ON ON ON ON OFF OFF OFF OFF 000105000001 0500 0000END 0500 0000 END 0001000000010500 ON ON ON ON OFF OFF OFF OFF 0002 0500 0000END 00030001 2.定时、计数指令实验 输入如下程序,观察运行结果,监视各计时器或计数器的内容及状态。 TIM 0000END TIM00 00000500 00 #0040000010s 2s TIM000500 0002 END 00020003 0501CNT010501 0003CNT01 CNT 01 #0003 0000END 00000002 0500CNT010500 0002CNT01 CNT 01 #00391902100s 四、实验总结(实验中出现的问题及解决方法) 注: 1. 预习要求(实验课前按指定的梯型图列出指令表) 2. 由统一的实验报告纸完成。 3. 写清班级、姓名、日期、同组人名。

指令系统及汇编语言程序设计

指令系统及汇编语言程序设计 2.4 伪指令 伪指令本身不会产生可执行的机器指令代码,它仅仅是告诉汇编程序有关源程序的某些信息,或者用来说明内存单元的用途。伪指令在汇编过程中由汇编程序进行处理。 2.4.1 数据定义伪指令 数据定义伪指令用于定义变量的类型、给存储器赋初值或给变量分配存储单元。常用的数据定义伪指令有DB、DW和DD等。 格式: [变量名] 伪指令助记符数据表项 功能:定义一个数据存储区,其类型由所定义的数据定义指令而指定。 操作说明:方括号中的变量名为任选项,变量名后面不跟冒号“:”。数据表项可以包含多个数据之间用逗号分隔开。数据定义伪指令助记符有以下三种: (1) DB定义变量类型为字节(BYTE),DB后面的每个数据占一个字节。 (2) DW 定义变量类型为字(WORD),DW后面的每个数据占一个字,即两个字节。在内存中,低字节在前,高字节在后。 (3) DD 定义变量类型为双字(DWORD),后面的每个数据占两个字。在内存中,低位字在前,高位字在后。 例如,有下列数据定义语句 D1 DB 1,-12 D2 DW 1,2010H D3 DD 1,10203040H 数据表项中除了常数、表达式和字符串外,还可以是问号“?”,它仅给变量保留相应的存储单元,而不给变量赋初值。相同的操作数重复出现时,可用重复符号“DUP”表示。 其格式为: n DUP(初值[,初值,……]);n表示重复的次数,圆括号中为重复的内容。 下面是用问号或DUP表示操作数的例子: ARRAY DB 1000 DUP(0) VAR DW ?,? 2.4.2 符号定义伪指令 1. 赋值伪指令 格式:变量名 EOU 表达式 功能:将右边表达式的值赋给左边的变量。 操作说明:表达式可以是一个常数、符号、数值表达式或地址表达式。 需要注意的是:EQU伪指令不允许对同一符号重复定义。 EQU伪指令具体应用举例如下: CR EQU ODH ;定义CR为常数(回车的ASCII代码) TAB EQU TABLE-ASCII ;定义变量 DIS EQU 1024*768 ;定义数值表达式 ADR EQU ES:[DI+3] ;定义地址表达式 M EQU MOV ;定义助记符 2.等号(=)伪指令 格式:变量名=表达式 功能:将右边表达式的值赋给左边的变量。 操作说明:等号(=)伪指令的功能与EQU伪指令相仿,它可以对同一个名字重复定义。

MIPS 指令系统和汇编语言

第四章MIPS指令系统和汇编语言 1.考研预测:出题特点总结 本章是对统考408内容来说,本章是新增的章节。此外北航961大纲中制定了要考MIPS 指令集,从15年961真题来看MIPS是重中之重。但是今年计组并没有指定具体的教材,但大纲明确要求掌握MIPS指令集,所以还是建议考生将《计算机组成与设计:硬件/软件接口》中文版(原版第三版或第四版)作为本章的参考书籍。 本章大致内容是MIPS的基础知识,难度并不大。考生应该将重点放在MIPS指令集的基础上,考察C语言中的语句转换为对应的MIPS指令,所以需要熟练掌握C语言中一些语句对应的MIPS指令实现。本章出题很大可能就是C语言和MIPS汇编语言之间的转换,也可能涉及到第五章CPU指令流水线等内容。 2.考研知识点系统整理:梳理考点,各个击破 3.1 指令系统概述 机器指令要素 操作码:指明进行的何种操作 源操作数地址:参加操作的操作数的地址,可能有多个。 目的操作数地址:保存操作结果的地址。 下条指令的地址:指明下一条要运行的指令的位置,一般指令是按顺序依次执行的,所以绝大多数指令中并不显式的指明下一条指令的地址,也就是说,指令格式中并不包含这部分信息。只有少数指令需要显示指明下一条指令的地址。

指令执行周期 3.2 指令格式 一台计算机指令格式的选择和确定要涉及多方面的因素,如指令长度、地址码结构以及操

作码结构等,是一个很复杂的问题,它与计算机系统结构、数据表示方法、指令功能设计等都密切相关。 指令的基本格式 一条指令就是机器语言的一个语句,它是一组有意义的二进制代码,指令的基本格式如下: ( 其中A1为第一操作数地址,A2为第二操作数地址,A3为操作结果存放地址。 这条指令的含义:(A1)OP(A2)→A3 式中OP表示双操作数运算指令的运算符号,如“+”或“–”等。 (2)二地址指令

微机原理与接口技术汇编语言指令详解吐血版

第一讲 第三章 指令系统--寻址方式 回顾: 8086/8088的内部结构和寄存器,地址分段的概念,8086/8088的工作过 程。 重点和纲要:指令系统--寻址方式。有关寻址的概念;6种基本的寻址方式及 有效地址的计算。 教学方法、实施步骤 时间分配 教学手段 回 顾 5”×2 板书 计算机 投影仪 多媒体课件等 讲 授 40” ×2 提 问 3” ×2 小 结 2” ×2 讲授内容: 3.1 8086/8088寻址方式 首先,简单讲述一下指令的一般格式: 操作码 操作数 …… 操作数 计算机中的指令由操作码字段和操作数字段组成。 操作码:指计算机所要执行的操作,或称为指出操作类型,是一种助记符。 操作数:指在指令执行操作的过程中所需要的操作数。该字段除可以是操作数本身外,也可以是操作数地址或是地址的一部分,还可以是指向操作数地址的指针或其它有关操作数的信息。 寻址方式就是指令中用于说明操作数所在地址的方法,或者说是寻找操作数有效地址的方法。8086/8088的基本寻址方式有六种。 1.立即寻址 所提供的操作数直接包含在指令中。它紧跟在操作码的后面,与操作码一起放在代码段区域中。如图所示。 例如:MOV AX ,3000H

立即数可以是8位的,也可以是16位的。若是16位的,则存储时低位在前,高位在后。 立即寻址主要用来给寄存器或存储器赋初值。 2.直接寻址 操作数地址的16位偏移量直接包含在指令中。它与操作码—起存放在代码段区域,操作数一般在数据段区域中,它的地址为数据段寄存器DS加上这16位地址偏移量。如图2-2所示。 例如: MOV AX,DS:[2000H]; 图2-2 (对DS来讲可以省略成 MOV AX,[2000H],系统默认为数据段)这种寻址方法是以数据段的地址为基础,可在多达64KB的范围内寻找操作数。 8086/8088中允许段超越,即还允许操作数在以代码段、堆栈段或附加段为基准的区域中。此时只要在指令中指明是段超越的,则16位地址偏移量可以与CS或SS或ES相加,作为操作数的地址。 MOV AX,[2000H] ;数据段 MOV BX,ES:[3000H] ;段超越,操作数在附加段 即绝对地址=(ES)*16+3000H 3.寄存器寻址 操作数包含在CPU的内部寄存器中,如寄存器AX、BX、CX、DX等。 例如:MOV DS,AX MOV AL,BH 4.寄存器间接寻址 操作数是在存储器中,但是,操作数地址的16位偏移量包含在以下四个寄

实验1汇编语言实验环境与基本操作

实验1 汇编语言实验环境与基本操作 班级:计科(高职)12-2 姓名:韩长莉学号: 201203014062 上机时间: 2014.4.14 上机地点:一机房指导老师:尉秀梅 一.实验目的: 1.学习debug的主要用法,熟悉R,D,E,U,T,A等常用的命令。 2.理解堆栈的工作原理,push和pop指令的执行步骤。 3.掌握一个完整的汇编程序从写出到执行的过程,熟悉用debug跟踪程序的执行过程。 二.实验内容: 1.查看cpu和内存,用机器指令和汇编指令编程(p35) 2.用机器指令和汇编指令编程(p71) 3.编程、编译、连接、跟踪(94页) 三.实验步骤 1.查看cpu和内存,用机器指令和汇编指令编程(p35) (1)使用debug,将下面的程序段写入内存,逐条执行,观察每条指令执行后,cpu中相关 寄存器中内容的变化。 提示:可用E命令和A命令,以两种方式将指令写入内存。注意用t命令执行时,cs:ip 的指向。 写清楚具体用这两种方式的操作方法。 C:\Users\Administrator>debug -e 1000:0 b8 20 4e 05 16 14 bb 00 20 01 d8 89 c3 01 d8 b8 1a 00 bb 26 00 00 d8 -u 1000:0 1000:0000 B8204E MOV AX,4E20 1000:0003 051614 ADD AX,1416 1000:0006 BB0020 MOV BX,2000 1000:0009 01D8 ADD AX,BX 1000:000B 89C3 MOV BX,AX 1000:000D 01D8 ADD AX,BX 1000:000F B81A00 MOV AX,001A 1000:0012 BB2600 MOV BX,0026 1000:0015 00D8 ADD AL,BL 1000:0017 28752D SUB [DI+2D],DH 1000:001A 807C0429 CMP BYTE PTR [SI+04],29 1000:001E 7554 JNZ 0074 -r AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=13C0 ES=13C0 SS=13C0 CS=13C0 IP=0100 NV UP EI PL NZ NA PO NC 13C0:0100 0000 ADD [BX+SI],AL DS:0000=CDCS 13C0 :1000 -rip IP 0100

第三章 基本指令实验

第三章 基本指令实验 §3.1 [实验3.1] 循环操作 一、实验目的 1. 掌握循环操作指令的运用; 2. 掌握用汇编语言编写DSP 程序的方法。 二、实验设备 1.一台装有CCS 软件的计算机; 2. DSP 实验箱的TMS320C5416主控板; 3. DSP 硬件仿真器。 三、实验原理 TMS320C54x 具有丰富的程序控制与转移指令,利用这些指令可以执行分支转移、循环控制以及子程序操作。本实验要求编写一程序完成 ∑==51i i x y 的计算。这个求和运算可以通过一个循环操作指令BANZ 来完成。BANZ 的功能是当辅助寄存器的值不为0时转移到指定标号执行。 例如: STM #4, AR2 loop: ADD *AR3+, A BANZ loop, *AR2– ;当AR2不为零时转移到loop 行执行。 假设AR3中存有x 1到x 5五个变量的地址,则上述简单的代码就完成了这五个数的求和。 四、实验步骤 1. 学习有关指令的使用方法; 2. 在CCS 环境中打开本实验的工程(Ex3_1.pjt ),阅读源程序; 3. 编译并重建 .out 输出文件(Rebuild All … ),然后通过仿真器把执行代码(.out 的文件)下载到 DSP 芯片中;

4.在“end:B end”代码行设置断点(当光标置于改行时,单击工具条上的Toggle Breakpoint图标, 此时该行代码左端会出现一个小红点或双击此行),单击运行; 5.选择“View”->“memory”,起始地址设为“0x0060”,观察内存数值的变化。应能看到五个加数的值及其求和值。 注意查看0X0060--0X0065单元中计算值显示的十六进制结果。 6. 停止程序的运行(单击); 7.尝试改变对变量的初始赋值,或者增加或减少变量数目,重复上述3~6步过程,验证程序运行结果。 五、思考题 1.总结迭代次数与循环计数器初值的关系(在本实验的代码中,用AR2作为循环计数器,设其初值为4,共执行了5次加法。); 2.学习其它转移指令。

相关文档
最新文档