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

实验01 汇编指令实验——作业1
实验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”。

图5 新建工程后的主窗口

右键列表中的“Target 1”,在弹出菜单中选择“Manage Components”选项。可以打开“Components, Enviroment

and Books”窗口。这里可以对默认处理器和源文件组重新命名。

图6 “Components, Environment and Books”窗口

5、在软件主窗口的工具条上点击“新建图标”,就会新建一个文本文件用于编辑源程序代码。

图7 新建文本文件

6、新建的文本文件需要保存,点击菜单“File->Save AS”选项,弹出的对话框中为文件命名,并保存在工程目录中。注意:文件的后缀名必须是“.s”,这是汇编源程序的文件类型。

图8 保存并命名文本文件

7、新建并保存后的源程序文件还要导入到工程中。右键点击列表的“Source Group ASM”选项,在弹出菜单中选择“Add Files to Group ‘Source Group ASM’”选项。在弹出的文件浏览对话框中选择Asm01.s文件并点击“Add”按钮。之后,程序文件被加入到源程序组中。

图9 添加程序文件

8、源程序文件添加程序代码如下:

;********************************************************************** ; NAME: Asm01.s

*

; Author: FeiXiang / TCU Computer and Information Project College

*

; Desc: ARM instruction examples

*

; History: 2015.9.15

*

;********************************************************************** ;/*------------------------------------------------------------------ */

;/* constant define*/

;/*---------------------------------------------- --------------*/

x EQU 45 ; x=45

y EQU 64 ; y=64/

;/*---------- ----------------------------------------------*/

;/* code */

;/*-------------------------------------------------------- */

AREA text,CODE,READONL Y ; code start */

start

mov r0, #x ; put x value into R0

ldr sp, =0x40000000 ;put imme 0x40000000 value into SP

str r0, [sp] ; save the value of R0 into stacks

mov r0, #y ; put y value into R0

ldr r1, [sp] ; read the data from stack,and put it into R1

add r0, r0, r1 ;R0=R0+R1

str r0, [sp]

stop

b stop ; end the code ?cycling

end

9、程序编辑完成后,在进行Build之前,我们需要对工程的选项进行设置。通过鼠标右键点击工程列表中的“Target”可以打开“Options for Target ‘LPC2138’”窗口。

图10 工程选项设置

10、在工程选项窗口,选择“Linker”选项卡,点击取消“Use Memory Layout from Target Dialog”前的对勾,同时删除“Scatter File”中的内容。注意:因为没有下载程序,这里对内存地址空间没有明确的使用要求,所以才做出如下设置。

11、点击工具栏上的“Build”按钮进行编译。编译后,可以点击“Debug”按钮启动调试对话界面,进行单步调试,并观测寄存器中的数值。

图11 编译和调试

图12 Debug 对话界面

(二)、对应汇编程序练习。

1、为了更好的理解汇编指令和程序技巧,本实验设计了几组代码。同时,为了节省时间,后续实验可以不用建立新的工程,只需要将上面实验环节中建立的工程Exp01中的Asm01.s 文件做替换就可以了。每个程序都要编译并仿真运行,观测寄存器和存储器空间的变化,理解汇编指令的作用。 1)间接寻址方式的验证。 下面的程序中,指令“ldr r2, [r11,#0x10]!”后加了“!”,表示通过“R11+0x10”间接取得地址后,还要将新的

寄存器仿真

机器指令区

存储器仿真。地址从0x40000000开始

单步调试按钮

地址值写回到R11寄存器。

;**********************************************************************

; NAME: Asm02.s

*

; Author: FeiXiang / TCU Computer and Information Project College

*

; Desc: ARM instruction examples

*

; History: 2015.9.15

*

;**********************************************************************

;/*------------------------------------------------------------------ */

;/* constant define*/

;/*---------------------------------------------- --------------*/

x EQU 45 ; x=45

y EQU 64 ; y=64/

;/*---------- ----------------------------------------------*/

;/* code */

;/*-------------------------------------------------------- */

AREA text,CODE,READONL Y ; code start */

start

mov r0, #x ; put x value into R0

ldr sp, =0x40000010 ;put imme 0x40000010 value into SP

ldr r12,=0x40000000 ;put imme 0x40000000 value into R12

ldr r11,=0x40000000 ;put imme 0x40000000 value into R11

str r0, [r12,#0x10] ; save the value of R0 into NO.0x40000010 memory space

ldr r1, [sp] ; read the data from stack,and put it into R1

ldr r2, [r11,#0x10]! ; load the value of the NO.0x40000010 memory space into R0 and write back the address

stop

b stop ; end the code cycling

end

2)运算类指令对CPSR的影响。

下面的程序中,指令“sub r2, r0, r1”对CPSR没有影响,指令“subs r2, r0, r1”会影响CPSR的Z标志位。;**********************************************************************

; NAME: Asm03.s

*

; Author: FeiXiang / TCU Computer and Information Project College

*

; Desc: ARM instruction examples

*

; History: 2015.9.17

*

;**********************************************************************

;/*------------------------------------------------------------------ */

;/* constant define*/

;/*---------------------------------------------- --------------*/

x EQU 45 ; x=45

y EQU 45 ; y=45/

;/*---------- ----------------------------------------------*/

;/* code */

;/*-------------------------------------------------------- */

AREA text,CODE,READONL Y ; code start */

start

mov r0, #x ; put x value into R0

mov r1, #y ; put y value into r1

sub r2, r0, r1

subs r2, r0, r1

stop

b stop ; end the code cycling

end

3)堆栈操作指令。

;********************************************************************** ; NAME: Asm04.s

*

; Author: FeiXiang / TCU Computer and Information Project College

*

; Desc: ARM instruction examples

*

; History: 2015.9.18

*

;********************************************************************** ;/*------------------------------------------------------------------ */

;/* constant define

*/

;/*---------------------------------------------- --------------*/

stack_top EQU 0x40000010 ; define the top address for stacks

;/*---------- ----------------------------------------------*/

;/* code */

;/*-------------------------------------------------------- */

AREA text,CODE,READONL Y ; code start */

ENTRY

CODE32

Start

ldr sp, =stack_top

mov r1, #1; put 1 value into R1

mov r2, #2; put 2 value into R2

mov r3, #3; put 3 value into R3

mov r4, #4; put 4 value into R4

stmfd sp,{r1-r4}

add sp, #0x10

stmed sp,{r1-r4}

stmfa sp,{r1-r4}

add sp, #0x20

stmea sp,{r1-r4}

Stop

b Stop ; end the code cycling

END

图13 Asm04.s程序执行后的内存空间

4)分支指令的应用。

下例是来自于教材57页的程序清单3.1

;********************************************************************** ; NAME: Asm05.s

*

; Author:ZhouLiGong

*

; Desc: ARM instruction examples

*

; History: 2015.9.18

*

;********************************************************************** ;/*---------- ----------------------------------------------*/

;/* code */

;/*-------------------------------------------------------- */

AREA text,CODE,READONL Y ; code start */

ENTRY

CODE32

Start

mov r0,#0

mov r1,#10

Loop

bl Add_Sub

b Loop

Add_Sub

adds r0,r0,r1

mov pc,lr

END

2、请实验者自己设计一段ARM汇编程序,完成对“MRS和MSR”指令的测试。

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

第二章指令系统和汇编语言程序设计实验 本章实验主要包括指令系统和汇编语言程序设计两部分。采用软件模拟调试的方法, 目的在于通过这些实验可以使学生巩固所学知识, 加深对 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.通过实验验证基尔霍夫电流定律和电压定律 2.加深理解“节点电流代数和”及“回路电压代数和”的概念 3.加深对参考方向概念的理解 二、原理 基尔霍夫节点电流定律 ∑ I= 基尔霍夫回路电压定律 ∑ U= 参考方向: 当电路中的电流(或电压)的实际方向与参考方向相同时取正值,其实际方向与参考方向相反时取负值。 三、实验仪器和器材 1.0-30V可调直流稳压电源 2.+15直流稳压电源 3.200mA可调恒流源 4.电阻 5.交直流电压电流表 6.实验电路板 7.短接桥 8.导线 四、实验内容及步骤 1.验证基尔霍夫电流定律(KCL) 可假定流入该节点的电流为正(反之也可),并将电流表负极接在节点接口上,电流表正极接到支路接口上进行测量。测量结果如2-1所示。

图2-1 2.验证基尔霍夫回路电压定律(KVL) 用短接桥将三个电流接口短接,测量时可选顺时针方向为绕行方向,并注意电压表的指针偏转方向及取值的正与负,测量结果如表2-2所示。 图2-2

五、思考题 1.利用表2-1和表2-2中的测量结果验证基尔霍夫两个定律。 表一中数据有4.0A+5.1A-9.1A=0这与基尔霍夫电流定律一致; 表二中数据有1.6V+2.7V+5.7V-10V=0; 14.9V-4.2V-2V-5.5V=0; 这与基尔霍夫电压定律基本一致;可见,基尔霍夫电压定律成立 2.利用电路中所给数据,通过电路定律计算各支路电压和电流,并计算测量值与计算值之 间的误差,分析误差产生的原因。 测量误差;读数误差以及所用电表并非理想电表;电压表内阻不是无穷大;电流表内阻不为零;电源输出不稳定;仪器不准确;导线有电阻等。 3.回答下列问题 (1)已知某支路电流约为3mA,现有一电流表分别有20mA、200mA和2A三挡量程,你将使用电流表的哪档量程进行测量?为什么? 选20mA档,因为只有20mA档最接近3mA的电流,其他的档位均太大,造成测量误差大。 (2)改变电流或电压的参考方向,对验证基尔霍夫定律有影响吗?为什么? 没影响。基尔霍夫电压定律的根本原理是回路电压之和为零;基尔霍夫电流定律的根本原理是回路电流相等,改变电压或电流方向,不会影响电压之和为零和回路电流相等的根本规律,因此对验证基尔霍夫定律没有影响 小家伙们,够给力吧!

实验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】在打开该应用软件时,其它的同样会用到该串口的应用软件要先关掉。

大学物理实验作业答案(全部)

教育技术专业《大学物理实验》课后部份习题答案 控制电路的研究(PASCO 综合性实验) 1.在限流和分压实验中,当连接完电路准备通电前,应使滑动头C 移到哪一端?为什么?(P191思考题) 答:如图1所示,在限流实验中,当连接完电路准备通电前,应使滑动头C 移到B 端,使限流有效电阻最大,可让回路中电流从小变到大。 如图2所示,在分压实验中,当连接完电路准备通电前,应使滑动头C 移到A 端,使分压有效电阻最小,可控制电压从小变到大。 2. 有人说,分压电路是用来控制电压,限流电路是用来控制电路电流的,你认为这种说法对吗?(P191 思考题) 答:这种说法太片面。因为,分压电路控制范围:V 是0E →,I 是0 0E R → 。限流电路控制范围:V 是 00R E E R R →+,I 是 00 E E R R R → +。所以,无论是分压还是限流控制电流,都能进行控制电路的电压和电 流,只是在具体电路中,控制程度不同。 霍尔效应效应及其磁场的测量 1、什么是霍尔效应?采用霍尔效应测量磁场时,要测量哪些物理量? 答:①导体或半导体薄膜材料在外加电场作用下,载流子产生定向运动,运动的电荷在磁场中受到洛仑兹 力作用使电荷产生横向的偏转,由于样品有边界,所以偏转的载流子将在边界积累起来,产生一个横向电场,这种现象就是霍尔效应。 ②霍尔电压B I K U S H H =,对于一定的霍尔元件,其灵敏度H K 是一个常量,已测量;因此,采用霍尔效应测量磁场时,需要测量霍尔电流S I 和对应的磁感应强度B 两个物理量。 2、使用霍尔效应测量磁场时,如何消除其副效应的影响? 答: 使用霍尔效应测量磁场时,可以采用对称测量法消除副效应的影响。选择电流和磁场的四种取向组 合),(S I B ++、),(S I B -+、),(S I B --、),(S I B +-测得四组电压值1U 、2U 、3U 、4U ,再根据下 式算出霍尔电压值4 4 321U U U U U H -+-=。 磁阻效应 1、什么叫做磁阻效应?磁阻效应是怎样产生的? 答:①一定条件下,导电材料的电阻值R 随磁感应强度B 变化的现象成为磁阻效应; ②当导体或半导体处于磁场中时,导体或半导体的载流子将受洛仑兹力的作用,发生偏转,在两端产生 图1 图2

汇编语言实验一

淮阴工学院 汇编语言程序设计实验报告 选题名称:实验一调试工具的使用方法训练 系(院):计算机工程学院 专业:计算机科学与技术 班级: 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

SPSS操作实验作业1(附答案)

SPSS操作实验 (作业1) 作为华夏儿女都曾为有着五千年的文化历史而骄傲过,作为时代青年都曾为中国所饱受的欺压而愤慨过,因为我们多是炎黄子孙。然而,当代大学生对华夏文明究竟知道多少呢 某研究机构对大学电气、管理、电信、外语、人文几个学院的同学进行了调查,各个学院发放问卷数参照各个学院的人数比例,总共发放问卷250余份,回收有效问卷228份。调查问卷设置了调查大学生对传统文化了解程度的题目,如“佛教的来源是什么”、“儒家的思想核心是什么”、“《清明上河图》的作者是谁”等。调查问卷给出了每位调查者对传统文化了解程度的总得分,同时也列出了被调查者的性别、专业、年级等数据信息。请利用这些资料,分析以下问题。 问题一:分析大学生对中国传统文化的了解程度得分,并按了解程度对得分进行合理的分类。 问题二:研究获得文化来源对大学生了解传统文化的程度是否存在影响。 要求: 直接导出查看器文件为.doc后打印(导出后不得修改) 对分析结果进行说明,另附(手写、打印均可)。 于作业布置后,1周内上交 本次作业计入期末成绩

答案 问题一 操作过程 1.打开数据文件作业。同时单击数据浏览窗口的【变量视图】按钮,检查各个 变量的数据结构定义是否合理,是否需要修改调整。 2.选择菜单栏中的【分析】→【描述统计】→【频率】命令,弹出【频率】对 话框。在此对话框左侧的候选变量列表框中选择“X9”变量,将其添加至【变量】列表框中,表示它是进行频数分析的变量。 3.单击【统计量】按钮,在弹出的对话框的【割点相等组】文本框中键入数字 “5”,输出第20%、40%、60%和80%百分位数,即将数据按照题目要求分为等间隔的五类。接着,勾选【标准差】、【均值】等选项,表示输出了解程度得分的描述性统计量。再单击【继续】按钮,返回【频率】对话框。

第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

土木工程实验作业答案

姓名:黄玮 院校学号:150032203157 学习中心:石家庄 层次:专升本 专业:土木工程 实验一:混凝土实验 一、实验目的:熟悉混凝土的技术性质和成型养护方法;掌握砼拌合物工作性的测定和评定方法;通过检验砼的立方体抗压强度,掌握有关强度的评定方法。 二、配合比信息: 1.基本设计指标 (1)设计强度等级C30 (2)设计砼坍落度30-50mm 2.原材料 (1)水泥:种类复合硅酸盐水泥强度等级P.C 32.5 (2)砂子:种类河砂细度模数 2.6 (3)石子:种类碎石粒级5-31.5mm (4)水:洁净的淡水或蒸馏水 3.配合比:(kg/m3) 三、实验内容: 第1部分:混凝土拌合物工作性的测定和评价

1、实验仪器、设备:电子秤、量筒、坍落度筒、拌铲、小铲、捣棒(直径16mm、长600mm,端部呈半球形的捣棒)、拌合板、金属底板等。 2、实验数据及结果 第2部分:混凝土力学性能检验 1、实验仪器、设备:标准试模:150mm×150mm×150 mm 、振动台、压力试验机(测量精度为±1%,时间破坏荷载应大于压力机全量程的20%;且小于压力机全量程的80%。)、压力试验机控制面板、标准养护室(温度20℃±2℃,相对湿度不低于95%。) 2、实验数据及结果 四、实验结果分析与判定: (1)混凝土拌合物工作性是否满足设计要求,是如何判定的? 答:满足设计要求。实验要求混凝土拌合物的塌落度30—50mm,而此次实验结果中塌落度为40mm,符合要求;捣棒在已塌落的拌合物锥体侧面轻轻

敲打,锥体逐渐下沉表示粘聚性良好;塌落度筒提起后仅有少量稀浆从底部析出表示保水性良好。 (2)混凝土立方体抗压强度是否满足设计要求。是如何判定的? 答:满足设计要求。该组试件的抗压强度分别为31.7MPa、38.4MPa、38.7 MPa, 因31.7与38.4的差值大于38.4的15%,因此把最大值最小值一并舍除,取38.4 MPa作为该组试件的抗压强度值,38.4 MPa大于38.2 MPa,因此所测混凝土强度满足设计要求。 实验二:钢筋混凝土简支梁实验 一、实验目的: 1.分析梁的破坏特征,根据梁的裂纹开展判断梁的破坏形态。2.观察裂纹开展,记录梁受力和变形过程,画出荷载挠度曲线。3.根据每级荷载下应变片的应变值分析应变沿截面高度是否成线性。4.测定梁开裂荷载和破坏荷载,并与理论计算值进行比较。 二、实验基本信息: 1.基本设计指标 (1)简支梁的截面尺寸150mm×200mm (2)简支梁的截面配筋(正截面) 2.材料 (1)混凝土强度等级C30 (2)钢筋强度等级HRB335 三、实验内容: 第1部分:实验中每级荷载下记录的数据

汇编语言指令系统.

汇编语言--指令系统整理总结--转贴 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

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

第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、试用位操作指令实现下列逻辑操作。要求不得改变未涉及的位的内容。

人教版化学必修一《1-1-1化学实验基本方法》课后作业及答案

课后作业 限时:45分钟满分:100分 一、选择题(每小题3分,共42分。) 1.下列有关说法不正确的是() A.化学是一门以实验为基础的自然科学 B.化学研究主要用的方法是实验方法 C.化学品标志表示的是三级放射性物品 ! D.不能用手接触药品,不要把鼻孔凑到容器口去闻药品的气味,不得尝任何药品的味道 2.下列实验能达到实验目的且符合安全要求的是() 3.有下列实验操作或事故处理方法:①用50 mL量筒量取5 mL蒸馏水;②称量没有腐蚀性固体药品时,把药品放在托盘上称量;③氢氧化钠浓溶液不慎溅入眼中,应立即用大量水冲洗,并且边洗边眨眼睛;④倾倒液体时,试剂瓶的瓶口不对准容器口;⑤块状药品都要用药匙取用;⑥固体药品用细口瓶保存;⑦用右图所示的方法闻气体的气味。其中错误的是()

A.①②③⑦B.③④ C.②⑤⑥⑦ D.①②④⑤⑥ 4.实验中的下列操作正确的是() . A.用试管取出试剂瓶中的Na2CO3溶液,发现取量过多,又把过量的试剂倒入试剂瓶中B.Ba(NO3)2溶于水,可将含有Ba(NO3)2的废液倒入水槽中,再用水冲入下水道 C.在100 mL的量筒里稀释浓硫酸溶液50 mL D.用浓硫酸配制一定浓度的稀硫酸时,浓硫酸溶于水后,应冷却至室温才能转移到容量瓶中5.下列实验仪器,能够受热或者在加热过程中可以用到的是() ①试管②量筒③烧杯④酒精灯⑤胶头滴管⑥蒸发皿 A.①②④⑥ B.①③④⑥ C.②③⑤ D.①②③⑤ " 6.下图分别表示四种操作,其中有两处错误的选项是() 7.下列实验操作中,完全正确的一组是() ①用试管夹夹持试管时,试管夹从试管底部往上套,夹在试管的中上部

汇编语言指令

汇编语言指令集 数据传送指令集 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”。

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

指令系统及汇编语言程序设计 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)二地址指令

作业1—java基础实验——参考答案

1、从键盘上输入10个整数,并将其放入一个一维数组中,然后将其前5个元素与后5个元素对换,即:第1个元素与第10个元素互换,第2个元素与第9个元素互换…第5个元素与第6个元素互换。分别输出数组原来各元素的值和对换后各元素的值。 参考答案 具体代码实现如下: 1.package programe; 2. 3.import java.io.BufferedReader; 4.import java.io.IOException; 5.import java.io.InputStreamReader; 6. 7.public class HuHuanDemo { 8.public static void main(String args[]) { 9. print(); 10. 11. } 12. 13.public static int[] write() { 14. BufferedReader[] buf = new BufferedReader[10];/* 申请缓冲数组 */ 15.int n;/* 开关量和中间量 */ 16.int array[] = new int[10]; 17.for (int i = 0; i < 10; i++)/* 赋值 */ 18. { 19. buf[i] = new BufferedReader(new InputStreamReader(System.in)); 20./* 给每个缓冲区定义 */ 21.do/* 判断是否是空串,如是则重新输入 */ 22. { 23. n = 1; 24. System.out.print("请输入第" + (i + 1) + "个整 数:"); 25.try/* 建立一个异常捕获 */ 26. { 27. array[i] = Integer.parseInt (buf[i].readLine());/* 执行串变整数 */ 28./* 29. * Integer.parseInt(str) - str 转成 int型 buf[i].readLine() - 30. * 从系统输入缓冲区读入字符流给 buf缓冲区并返回字符串 31. */

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

第一讲 第三章 指令系统--寻址方式 回顾: 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位偏移量包含在以下四个寄

相关文档
最新文档