1_寻址方式与基本指令实验

1_寻址方式与基本指令实验
1_寻址方式与基本指令实验

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文件;用EDIT打开EX11.LST文件,了解.LST文件包含的信息;使用DEBUG调试工具单步执行EX11.EXE程序,注意观察IP值的变化,并回答下列问题。

(1)程序装入后,代码段寄存器CS的内容为__0981__H,代码段第一条可执行指令MOV AX, DA TA对应的机器代码为__B88009______H,它是一个____3____字节指令,注意观察执行该指令时IP值的变化情况,该指令源操作数DATA的寻址方式是___立即数寻址_______,其值为___0980_______。

(2)执行完MOV DS, AX指令后,数据段寄存器DS的内容为__0980______H,源程序在数据段中定义的数据82H、68H和88H被装入的存储单元的物理地址分别为__09800______H、__09801______H和_09802_______H。

(3)程序中第一条ADD AL, [BX] 指令对应的机器代码为___0207_______H,它是一个_____2___字节指令,注意观察执行该指令时IP值的变化情况;该指令中源操作数的寻址方式为__寄存器间接寻址方式________,该操作数所在存储单元的逻辑地址DS: BX为__0980:

0001________,其物理地址为___09801_______H;执行完该指令后(AL)=__EA___H,CF=___NC

(0)___,OF__NV(0)____,ZF__NZ(0)____,SF___NG(1)___,AF___NA(0)___,PF__PO(0)____;若两操作数为无符号数,计算结果是否正确___正确____?若两操作数为带符号数,计算结果是否正确___正确___?若计算结果正确,结果是正数还是负数___负数___?

(4)执行完第二条ADD AL, [BX] 指令后(AL)=___72___H,CF=__CY(1)____,OF___OV(1)___,ZF_NZ(0)_____,SF___PL(0)___,AF__AC(1)____,PF__PE(1)____;若两操作数为无符号数,计算结果是否正确___错误____?若两操作数为带符号数,计算结果是否正确____不正确____?

(5)指令MOV SUM, AL中目的操作数的寻址方式为___直接寻址_______。该指令执行完后,注意观察(DS):0003H单元中值的变化,该单元的值变为___72_____H。

DA TA SEGMENT

NUM DB 82H, 68H, 88H

SUM DB ?

DA TA ENDS

CODE SEGMENT

ASSUME CS:CODE, DS:DATA

START: MOV AX, DA TA

MOV DS, AX

MOV BX, OFFSET NUM

MOV AL, [BX]

INC BX

ADD AL, [BX]

INC BX

ADD AL, [BX]

MOV SUM, AL

MOV AH, 4CH

INT 21H

CODE ENDS

END START

2、读懂下列源程序;编辑、汇编、连接生成EX12.ASM、EX12.OBJ、EX12.LST、EX12.EXE文件;使

用DEBUG单步执行EX12.EXE文件,并回答以下问题。

(1)代码段的前三条指令MOV AX, STACK、MOV SS, AX和MOV SP, LENGTH STL的功能为堆栈初始化,试问执行完这三条指令后,堆栈栈底所在单元的逻辑地址SS: SP为_151A:0100_______;执行PUSH AX指令后堆栈指针寄存器(SP)=_00FE_____H,此时,(SS): (SP+1)和(SS): (SP)单元的值为__5B0A(AX)_____H;执行完PUSH BX后(SP)=_00FC_____H,此时,(SS): (SP+1)和(SS): (SP)单元的值为__4CA3(BX)_____H;执行完POP AX后(SP)=__00FE____H;执行完POP BX后(SP)=___0100___H;此时(AX)=__4CA3____H,(BX)=__5B0A____H。请读者通过对堆栈操作指令执行情况的观察,进一步掌握进、出栈操作过程。

(2)执行ADD AX, BX指令后(AX)=___A7AD_____H,CF=__NC(0)____,OF__OV(1)____,ZF_NZ(0)_____,SF__NG(1)____,AF_NA(0)_____,PF___PO(0)___(注意考虑PF值与计算结果高8位有无关系);若两操作数为无符号数,计算结果是否正确__正确_____?若两操作数为带符号数,计算结果是否正确___错误_____?(无符号CF=1 错误带符号看OF =1 错误)(3)执行AND AX, BX指令后(AX)=__4802______H,CF=__NC(0)____,OF__NV(1)____,ZF__NZ(0)____,SF__PL(0)____,AF__NA(0)____,PF__PO(0)____。

STACK SEGMENT stack

STL DB 100H DUP(?)

STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,SS:STACK

START: MOV AX, STACK

MOV SS, AX

MOV SP, LENGTH STL

;表达式“LENGTH STL”的功能为计算STL中定义的变量的个数,

;汇编后其值为100H ,详见教材5.2.2

MOV AX, 0101101100001010B

MOV BX, 0100110010100011B

PUSH AX

PUSH BX

ADD AX, BX

POP AX

POP BX

AND AX, BX

MOV AH,4CH

INT 21H

CODE ENDS

END START

3、指出下列指令的错误原因,上机运行,观察汇编程序(MASM.EXE)给出的出错信息,改正后再上机

验证。

(1) MOV BP, BL

(2) MOV [BX],[BP]

(3) MOV [BX],20H

(4) INC [SI]

(5) ADD AX,[SI+DI]

(6) SHL AX,3

(7) PUSH 2000H (堆栈指令操作只能是字操作数,不能为立即数)

(8) POP AL

(9) MOV CS,AX (目的操作数不能是段寄存器CS,寄存器(IP))

(10) MOV DS,1000H

有关常见汇编错误的详细内容见本书第三部分第3章“汇编语言程序常见汇编错误分析”。

1:错误信息为:End of file,no end directive; Operand types must math

错误原因:BP是16为寄存器,BL是8位

2:错误信息为:End of file,no end directive; Improper Operand type

错误原因:原操作数和目的操作数不能同时为存储器

3:错误信息为:End of file,no end directive; Operand MUST HA VE SIZE

错误原因:操作数类型不明确

4:错误信息为:End of file,no end directive; Operand MUST HA VE SIZE

错误原因:操作数类型不明确

5:错误信息为:End of file,no end directive;MULTIPLE INDEX REGISTERS

错误原因:SI和DI不能同时出现在操作数中

6:错误信息为:End of file,no end directive; Improper Operand type

错误原因:循环次数大于1应间接移位

7:错误信息为:End of file,no end directive; IMMEDIATE MODE ILLEGAL

错误原因:不能对立即数进行堆栈操作

8:错误信息为:End of file,no end directive; ILLEGAL SIZE FOR OPERAND

错误原因:POP不能对字节操作

9:错误信息为:End of file,no end directive; DA TA EMITTED WITH NO SEGMENT 错误原因:CS不能作为目的操作数

10:错误信息为:End of file,no end directive; IMMEDIATE MODE ILLEGAL

错误原因:立即数不能送人数据段

2.1.4 实验报告要求

1、写出任务1和任务2中所有问题的正确答案;对实验前做错或做不出来的问题,说明通过上机操作

对这些问题有哪些新的认识。

2、写出任务3中10条错误指令的错误原因,对可以改正的指令给出其正确形式,并分别记录汇编程序

对每条错误指令给出的出错信息。

3、简要说明汇编语言程序设计的步骤,每一步使用什么工具软件,生成什么类型的文件。

4、写出实验小结,内容包括实验心得(收获)、实验中遇到的问题及解决办法、不足之处或今后应注意

的问题等。

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执行完“MOVDSDATA”指令后,数据段寄存器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

MOV BX,OFFSET NUM

MOV AL,[BX]

INC BX

ADD AL,[BX]

INC BX

ADD AL,[BX]

MOV SUM ,AL

MOV AH,4CH

INT 21H

CODE ENDS

END START

2、读懂下列源程序,编辑,汇编,连接生成EX12.ASM、EX12.OBJ、EX12.LST、EX12.EXE

文件,使用DEBUG单步执行EX12.EXE文件,并回答下列问题。

○1代码的前三条指令“MOV AX ,STACK”、“MOV SS,AX”和“MOV SP,LENGTH STL”的功能为堆栈初始化,试问执行完这三条指令后,堆栈栈底所在单元的逻辑地址(SS):(SP)为:1137:0100;

执行“PUSH AX”指令后,堆栈指针寄存器(SP)=0100H,此时,(SS):(SP+1)和(SS):(SP)单元的值为0102 0100H,执行完“POP AX”后,(SP)=——H;执行完“POP BX”后,(SP)=00FEH;,此时(AX)=4CA3H,(BX)=4CA3H。

○2执行“ADD AX ,BX”指令后(AX)=5B0AH,CF=0H,OF=0H,ZF=0H,SF=0H,AF=0H,PF=0H;若两操作数为无符号数,计算结果正确,若两操作数为带符号数,则计算结果不正确○3执行“AND AX ,BX”指令后(AX)=4CA3H,CF=1H,OF=0H,ZF=0H,SF=1H,AF=0H,PF=0H。

STACK SEGMENT stack

STL DW 100H DUB(?)

STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,SS:STACK

START: MOV AX, STACK

MOV SS, AX

MOV SP, LENGTH STL

MOV AX, 0101101100001010B

MOV BX, 0100110010100011B

PUSH AX

PUSH BX

ADD AX, BX

POP AX

POP BX

AND AX,BX

MOV AH,4CH

INT 21H

CODE ENDS

END START

微机原理实验一报告

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

寻址方式及指令系统习题与解答

寻址方式及指令系统习题与解答 计算机科学与工程学院黄洪波2012年3月 一、单项选择题 1.设BX=2000H,SI=3000H,指令MOV AX,[BX+SI+8]的源操作有效地址为()。 A.5000H B.5008H C.23008H D.32008H 2.设DS=1000H,ES=2000H,BX=3000H,指令ADD AL,[BX]的源操作数的物理址为()。 A.13000H B.23000H C.33000H D.3000H 3.设DS=2000H,ES=3000H,SI=200H,指令MOV ES:[SI],AL的目的操作数的物理地址为()。 A.20200H B.30200H C.50200H D.200H 4.指令MOV MEM[BX],AX中的MEM是()。 A.原码B.反码C.补码D.移码 5.用来作为寄存器间接寻址的寄存器有()个。 A.8 B.6 C.5 D.4 6.指令MOV [BX+SI],AL中的目的操作数使用()段寄存器。 A.CS B.DS C.SS D.ES 7.指令MOV BX,[BP+5]中的源操作数使用()段寄存器。 A.CS B.DS C.SS D.ES 8.段内间接寻址只改变()中的内容。 A.CS B.IP C.CS和IP D.PSW 9.段间间接寻址只改变()中的内容。 A.CS B.IP C.CS和IP D.PSW 10.下述指令中不改变PSW的指令是()。 A.MOV AX,BX B.AND AL,0FH C.SHR BX,CL D.ADD AL,BL 11.下述指令中不影响CF的指令是()。 A.SHL AL,1 B.INC CX C.ADD [BX],AL D.SUB AX,BX 12.两个整数补码9CH和7AH相加运算后,会产生()。 A.无溢出且无进位B.无溢出但有进位

作业习题 寻址方式和指令

寻址方式和指令习题 一、选择题 1、MOVX A,@DPTR指令中源操作数的寻址方式是() (A)寄存器寻址(B)寄存器间接寻址(C)直接寻址(D)立即寻址 2、ORG 0003H LJMP 2000H ORG 000BH LJMP 3000H 当CPU响应外部中断0后,PC的值是() (A)0003H (B)2000H (C)000BH (D)3000H 3、执行PUSH ACC指令,MCS-51完成的操作是() (A)SP+1 SP (ACC)(SP)(B)(ACC)(SP)SP-1 SP (C)SP-1 SP (ACC)(SP) (D)(ACC)(SP)SP+1 SP 4、LCALL指令操作码地址是2000H,执行完相子程序返回指令后,PC=() (A)2000H (B)2001H (C)2002H (D)2003H 5、51执行完MOV A,#08H后,PSW的哪一位被置位() (A)C (B)F0 (C)OV (D)P 6、下面条指令将MCS-51的工作寄存器置成3区() (A)MOV PSW,#13H (B)MOV PSW,#18H (C)SETB PSW.4 CLR PSW.3 (D) SETB PSW.3 CLR PSW.4 7、执行MOVX A,@DPTR指令时,MCS-51产生的控制信号是()(A)/PSEN (B)ALE (C)/RD (D)/WR 8、MOV C,#00H的寻址方式是() (A)位寻址(B)直接寻址(C)立即寻址(D)寄存器寻址 9、ORG 0000H AJMP 0040H ORG 0040H MOV SP,#00H 当执行完上面的程序后,PC的值是()

实验1 Linux基本操作和命令

实验一Linux基本操作和命令 一、实验目的: 1.掌握Linux虚拟机的基本操作 2.练习几个最常用的命令; 二、实验内容: 1.正确启动windows下面的虚拟机软件VMware,能够进入到ubuntu操作系统, 使用用户(ubuntu)登录:用户名:root 密码:123。启动终端(快捷键ctrl+alt+t)

系统,在终端命令行窗口中,输入如下linux命令,记录(复制或者截图)其 (4)在a1目录中,创建文件a.c、b.c、test1、test2,gedit是文本编辑器,打开文件注

(16)在dir1下建立txt的硬链接文件h_txt 和软链接文件s_txt,并用ls指令观察dir1

?ls命令:显示指定工作目录下之内容 ?dir命令:同ls ?cd命令:变换工作目录 ?pwd命令:显示出当前工作目录所在的路径 ?clear命令:清屏 ?man命令:查看指令用法的help ?mkdir命令:用来建立新的目录 ?rmdir命令:用来删除已建立的目录 ?rm命令:删除文档及目录。 ?touch命令:创建一个空白文件或改变已有文件的时间戳 ?cp命令:复制文件(或者目录等) ?mv命令:移动目录或文件 ?ln命令:为某一个文件在另外一个位置建立一个同步的链接。 ?chmod命令:修改文件或目录的权限 ?chown命令:修改文件或目录所属的用户 ?chgrp命令:修改文件或目录所属的工作组 ?more命令:使超过一页的文件临时停留在屏幕,按任意键后继续显示。 ?less命令:显示文件内容,可以上下翻页显示。 ?head命令:显示文件前10行内容。 ?tail命令:显示文件后10行内容。 ?cat命令:显示文件内容到标准输出 ?find命令:在指定的路径上搜索指定的文件和目录 ?grep命令:在文件中搜索字符串,并将匹配的行输出 ?shutdown命令:关机或重启 ?reboot命令:重启命令 ?mount命令:将某个文件系统挂载到某个目录上 ?umount命令:用于卸载已安装好的文件系统 ?tar命令:用于打包和解包某个目录和文件 ?ps命令:用于查看系统进程 ?kill命令:用于杀掉进程 ?adduser命令:添加用户 ?passwd命令:修改用户密码 ?ping命令: ?ifconfig命令:网卡配置 ?netstat命令:查看端口状态 ?nm命令 ?sudo : 暂时切换到超级用户模式以执行超级用户权限,提示输入密码时该密码为当前用户的密码,而不是超级账户的密码。不过有时间限制,Ubuntu默认为一次时长15分钟。?su :切换到某某用户模式,提示输入密码时该密码为切换后账户的密码,用法为“su 账户名称”。 ?

实验一--掌握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

8086汇编语言指令的寻址方式有哪几类

1. 8086汇编语言指令的寻址方式有哪几类?用哪一种寻址方式的指令执行速度最快? 寄存器寻址最快 7. 下面这些指令哪些是正确的?哪些是错误的?如是错误的,请说明原因。 XCHG CS , AX ;不能修改CS MOV [BX] , [1000] ;不能在两个内存单元之间直接进行数据传送 XCHG BX , IP ;不能用名字直接访问IP PUSH CS POP CS ;不允许直接修改CS值 IN BX , DX ;输入数据必须使用累加器AL或AX MOV BYTE [BX] , 1000 ;格式错误,且超范围,应为MOV word PTR [BX],1000 MOV CS , [1000];不允许直接修改CS值 20.带参数的返回指令用在什么场合?设栈顶地址为3000H,当执行RET 0006后,SP的值为多少? 利用堆栈传递参数时使用;对于近调用SP=3008H,对于远调用SP=300AH 27.设当前SS=2010H,SP=FE00H,BX=3457H,计算当前栈顶地址为多少?当执行 PUSH BX指令后,栈顶地址和栈顶2个字节的内容分别是什么? 栈顶地址:SS:SP,物理地址为:2FF00H;PUSH 完以后栈顶地址为:SS:SP=2010:FDFEH,即物理地址为:2FEFEH,内容为:57H 34H(由低地址到高地址) B P7 5. 设(DS)=3000H,(BX)=1100H,(CS)=0062H,(S1)=0002H,(31100H)=52H, (31101H)=8FH,(31162H)=6BH,(31163H)=99H,(31103H)=F6H, (32200H)=AAH,(32201H)=B6H,(32800H)=55H,(32801H)=77H,给出下列各指令执行后AX寄存器的内容: (1) MOV AX,BX (2) MOV AX,[BX] (3) MOV AX,4200H (4) MOV AX,[2800H] (5) MOV AX,1100H[BX] (6) MOV AX,[1160H+SI] 9. 分别执行下列各指令组,写出AX的内容: (1) MOV AX,93A4H NEG AX 73A4-8c5c,e689-1977 (AX)=6C5CH (2) XY DW "AB" MOV AX,XY (AX)=4142H (3) MOV AX,2B7EH MOV CX,4DB5H ADD AX,CX (AX)=7933H (4) XA DW 0BD57H MOV AX,0FBCDH AND AX,XA (AX)=B945H (5) STC MOV BX, 0B69FH MOV AX, 43A2H SBB AX, BX

实验一 指令与寻址方式认知实验(Keil)

实验一指令与寻址方式认知实验 一、实验目的 1.了解单片机基本指令及其寻址方式; 2.掌握在μVision环境中查看指令操作结果的技巧。 二、实验仪器和设备 Keil软件;THKSCM-2综合实验装置; 三、实验原理及实验内容 1.示例及相关设置 (1)建立一个文件夹:lx31。 (2)利用菜单File的New选项进入编辑界面,输入下面的源文件,以lx31.asm文件名存盘到lx31文件夹中。 ORG 0000H MAIN:MOV R7,#16 MOV A,#00H MOV R0,#30H LP:MOV @R0,A INC R0 INC A DJNZ R7,LP SJMP $ END (3)在lx31文件夹下建立新工程,以文件名lx31存盘(工程的扩展名系统会自动添加)。 (4)在Project菜单的下拉选项中,单击Options for Target ‘Target1’,在弹出的窗口中要完成一下设置: ○1单片机芯片选择AT89C51选择完器件,按“确定”后会弹出一个提示信息框,提示“Copy Startup Code to Project Folder and Add File to Project?”,选择“是”。 ○2晶振频率设为11.0592MHz。 ○3Output标签下的Create HEX File前小框中要打钩。

○4在Debug标签选择Use Simulator(软件模拟)。 (5)在Project菜单的下拉选项中,单击build Target 选项完成汇编,生成目标文件(.HEX)。利用单步、执行到光标处两种方法运行程序,观察程序运行的结果。 (6)分析程序的功能,研究观察以下指令的寻址方式及其操作效果。 2.示例及相关设置 (1)建立一个文件夹:lx32。 (2)利用菜单File的New选项进入编辑界面,输入下面的源文件,以lx32.asm文件名存盘到lx32文件夹中。 ORG 0000H MOV R0,#20H MOV R1,#22H MOV A,@R0 ADD A,@R1 MOV 24H,A INC R0 INC R1 MOV A,@R0 ADDC A,@R1 MOV 25H,A SJMP $ END (3)在lx32文件夹下建立新工程,以文件名lx32存盘(工程的扩展名系统会自动添加)。 (4)在Project菜单的下拉选项中,单击Options for Target ‘Target1’,在弹出的窗口中要完成一下设置: ○1单片机芯片选择AT89C51选择完器件,按“确定”后会弹出一个提示信息框,提示“Copy Startup Code to Project Folder and Add File to Project?”,选择“是”。 ○2晶振频率设为11.0592MHz。 ○3Output标签下的Create HEX File前小框中要打钩。 ○4在Debug标签选择Use Simulator(软件模拟)。

plc实验1基本指令的编程练习

实验一基本指令的编程练习 一、实验目的 1、熟悉西门子PLC实验装置。 2、掌握S7-200型PLC的输入输出配置及外围设备的连接方法。 3、练习掌握STEP7 Micro WIN V4.0编程软件的使用方法。 4、掌握梯形图、指令表等编程语言的转换。 5、掌握与、或、非基本逻辑指令及定时器、计数器的使用。 二、实验设备 1、PLC实验台(西门子S7-200)1台。 2、安装了STEP7 Micro WIN V4.0软件的计算机一台。 3、PC/PPI编程电缆一根。 4、导线若干。 三、实验接线图和I/O分配表 3.1实验接线图 I/O分配表 编 地址说明功能号 1 I0.0 按钮1 系统启动 2 I0.1 按钮2 系统停止 3 I0.2 按钮3 4 I0.3 按钮4 5 Q0.0 灯1 指示灯 6 Q0.1 灯2 指示灯 7 Q0.2 接触器1 控制电动机

8 Q0.3 接触器2 控制电动机 四、实验步骤 1、电源断电,按图接线将AC220V电源通过单极空气开关接至PLC主机电源,按纽SB1、SB 2、 SB3、SB4分别接至PLC输入点I0.0、I0.1、I0.2,I0.3指示灯L1、L2、KM1、KM2分别接至Q0.0、Q0.1、Q0.2、Q0.3。用编程电缆连接PLC的PORT1和计算机的COM端。 2、接通电源,打开计算机,进入PLC编程界面,检查计算机与PLC主机通信是否正常。 3、新建文件,保存,将程序逐条输入,检查无误后,将PLC设为停止状态,STOP指示灯亮,将程 序下载至PLC后,再将PLC设为运行状态,RUN指示灯亮。 4、按下按钮SB1、SB2、SB3或SB4观察输出指示灯的状态是否符合程序的运行结果。 五、基本指令练习程序 1、与、或、非逻辑功能实验 通过程序判断Q0.0、Q0.1、Q0.2的输出状态,然后输入并运行程序加以验证。参考程序: (1)梯形图 根据输出结果,绘制时序图(2)语句表

第六章_寻址方式和指令系统

1

第 6章 寻址方式和汇编指令 第6章
6.1、寻址方式 6.2、汇编语言指令集 6.3、汇编源程序

第 6章 寻址方式和汇编指令 第6章
6 . 1 寻址方式
▲ 汇编指令是可执行指令,每条指令对应一条机器 码,用以控制处理器中的执行部件进行各种操 作。 ▲ TMS320F281X系列的汇编指令有150多条。 ▲ 它们支持各种信号处理运算,同时也提供了应用 中所需要的多级处理和过程控制功能。 ▲ 寻址方式是指寻找指令中操作数地址的方式。

第 6章 寻址方式和汇编指令 第6章
6 . 1 寻址方式
TMS320C28x指令集采用7种存储器寻址方式: ▲ 直接寻址方式 ▲ 堆栈寻址方式 ▲ 间接寻址方式 ▲ 寄存器寻址方式 ▲ 数据/程序/IO空间立即寻址方式 ▲ 程序空间间接寻址 ▲ 字节寻址方式

第 6章 寻址方式和汇编指令 第6章
6 . 1 寻址方式
F2812 的大多数指令利用操作码中的8位字段来选择寻 址方式和对寻址方式进行修改.在 F2812 指令系统中,这个8 位字段用于以下寻址方式: (1)loc16 。 为16位数据访问选择直接/堆栈/间接/寄存器寻址方
式。
(2)loc32 。 为32位数据访问选择直接/堆栈/间接/寄存器寻址方
式。
以上7种寻址方式都与“loc16/loc32”组合起来使用。

第 6章 寻址方式和汇编指令 第6章
6 . 1 寻址方式
寻址方式选择位
由 于 F2812 提 供 了 多 种 寻 址 方 式 , 因 此 用 寻 址 方 式 选 择 位 ( AMODE )来选择8位字段( loc16/loc32 )的解码。该 位属于状态寄存器ST1。寻址方式可以大致归类如下: ▲ AMODE=0——该方式是复位后的默认方式,也是F2812的C/C++编译
器使用的方式。这种方式与C2xLP CPU的寻址方式不完全兼容。数据页指针 偏移量是6位(在C2xLP CPU中是7位),并且不支持所有的间接寻址方式。
▲ AMODE=1——该方式包括的寻址方式完全与C2xLP 器件的寻址方式
兼容。数据页指针的偏移量是7位并支持所有C2xLP 支持的间接寻址方式。
对与loc16或者loc32字段,其可用的寻址方式总结如P375所示

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

实验二 常用命令操作实验报告 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目录下的详细信息

存储器寻址方式

存储器寻址方式 存储器寻址方式的操作数存放在主存储器中,用其所在主存的位置表示操作数。在这种寻址方式下,指令中给出的是有关操作数的主存地址信息。8088的存储器空间是分段管理的。程序设计时采用逻辑地址;由于段地址在默认的或用段超越前缀指定的段寄存器,所以采用偏移地址,称之为有效地址(Effective Address, EA) 1.直接寻址 在这种寻址方式下,指令中直接包含了操作数的有效地址,跟在指令操作码之后。其默认的段地址在DS段寄存器中,可以采用段超越前缀。 例将数据段中偏移地址2000H处的内存数据送至AX寄存器。 MOV AX, [2000H] 该指令中给定了有效地址2000H, 默认与数据段寄存器DS一起构成操作数所在存储单元的物理地址。 如果DS=1429H,则操作数所在的物理地址为1429H*16+2000H=16920H. 该指令的执行结果是将16920H单元的内容传送至AX寄存器,其中,高字节内容送AH寄存器,低字节内容送AL寄存器。

MOV AX, [2000H];指令代码:A1 00 20 例: 将附加段中偏移地址2000H 处的内存数据送至AX 寄存器。 MOV AX, ES:[2000H]; 指令代码:26 A1 00 20 变量指示内存的一个数据,直接引用变量就是采用直接寻址方式。变量应该在数据段进行定义,常用的变量定义伪指令DB 和DW 分别表示字节变量和字变量,例如 WV AR DW 1234H; 定义字变量WV AR ,它的初值是1234H 这样,标示符WV AR 表示具有初值1234H 的字变量,并由汇编程序为它内存分配了两个连续的字节单元。假设它在数据段偏移地址是0010H 。 例:将数据段的变量WV AR (即该变量名指示的内存单元数据)送至AX 寄存器。 MOV AX, WV AR; 指令功能: 上述指令实质就是如下指令: AX WV AR AX DS :[0010H]

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. 写清班级、姓名、日期、同组人名。

寻址方式和指令系统

《微机原理》复习思考题第3章 8086的寻址方式和指令系统 3.1 8086汇编语言指令的寻址方式有哪几类?用哪一种寻址方式的指令执行速度最快? 3.2 直接寻址方式中,一般只指出操作数的偏移地址,那么,段地址如何确定?如果要用某个段 寄存器指出段地址,指令中应如何表示? 3.3 在寄存器间接寻址方式中,如果指令中没有具体指明段寄存器,那么,段地址如何确定? 3.4 用寄存器间接寻址方式时,BX,BP,SI,DI分别针对什么情况来使用?这四个寄存器组合 间接寻址时,地址是怎样计算的?举例进行说明。 3.5 设DS=2100H,SS=5200H,BX=1400H,BP=6200H,说明下面两条指令所进行的具体操作: MOV BYTE PTR [BP], 2000 MOV WORD PTR [BX], 2000 3.6 使用堆栈操作指令时要注意什么问题?传送指令和交换指令在涉及内容操作数时分别要注 意什么问题? 3.7 下面这些指令中哪些是正确的?哪些是错误的?如果是错误的,请说明原因。 XCHG CS, AX MOV [BX], [1000] XCHG BX, IP PUSH CS POP CS IN BX, DX MOV BYTE[BX], 1000 MOV CS, [1000] 3.8 8086系统中,当对SS和SP寄存器的值进行修改时,有什么特殊规定?这样做的原因是什么?[解答] 凡是遇到给SS寄存器赋值的传送指令时,系统会自动禁止外部中断,等到本条指令和下条指令执行之后,又自动恢复对SS寄存器赋值前的中断开放情况。这样做是为了允许程序员连续用两条指令分别对SS和SP寄存器赋值,同时又防止堆栈空间变动过程中出现中断。 3.9 以下是格雷码的编码表 0——0000 1——0001 2——0011 3——0010 4——0110 5——0111 6——0101 7——0100 8——1100 9——1101 请用换码指令和其他指令设计一个程序段,实现格雷码往ASCII的转换。 3.10 用加法指令设计一个简单程序,实现两个16位十进制数的加法,结果放在被加数单元。 3.11 为什么用增量指令或减量指令设计程序时,在这类指令后面不用进位标志CF作为判断依 据?

实验一常用网络命令的使用实验报告

实验一、常用网络命令的使用 课程计算机网络班级2013167 姓名郑棋元 完成日期15年4月2 日课(内、外)总计本实验用时间四个小时【实验目的】 1.掌握常用网络命令的使用方法; 2.熟悉和掌握网络管理、网络维护的基本内容和方法 【实验内容】 1.阅读实验指导书提供的资料,结合本地环境对WINDOWS 常用网络命 令进行测试和练习。 2.分析总结实验场地的网络环境、拓扑结构、上网方式等。 【实验步骤和结果】 ⑴ARP:

⑵ftp

⑶Ipconfig ⑷Nbtstat

⑸net: ⑹Netstat ⑺Ping

⑻Route ⑼Telnet 没能调试出来⑽Tracert

【实验思考题】 1.说明如何了解本机及其所处网络的网络配置信息? 输入Ipconfig/all(该诊断命令显示所有当前的 TCP/IP 网络配置值) 2.若网络出现故障,说明使用网络命令进行故障检测的常用步骤? 运用Ping(验证与远程计算机的连接) ping 任一IP地址,如果能ping通,说明你的电脑的TCP/IP没有错误。 ping 自己的IP地址,如果能ping通,说明你的网卡都正常。 ping 路由。如果能通,说明你的主机到路由的物理连接还都正常。 ping 网址。如果能通却还是打不开网页,说明dns有错误。 【实验总结】 常用的网络命令虽然看起来简单,可能觉得没什么用处,但是对于网络问题的诊断却非常有用。用windows系统自带的命令行中的常用网络命令来诊断网络故障,不仅快捷,而且信息反映直观。 【实验心得与体会】 掌握了很多常用却不知道或知道却不熟悉的网络命令的使用方法,知道了两台PC机之间传输文件的多种方式。

第三章 基本指令实验

第三章 基本指令实验 §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.学习其它转移指令。

指令格式及寻址方式

指令格式及寻址方式 一、指令格式 指令的表示方法称为指令格式,它包括指令的长度和指令内部信息的安排等内容。一条指令一船由两部分组成,即操作码和操作数。操作码用来规定指令进行什么操作,而操作效则表示指令操作的对象。操作数可以直接是一个数(立即数),也可以是一个数据所在的空间地址,即在执行指令时从指定的地址空间取出操作数。 单片机中的指令并不是固定的长度,对于不同的指令,指令的字节数不同。MC5—5l 单 片机用机器语言表示的指令格式按字节划分,有一字节指令、两字节指令和三字节指令三种。 1.一字节指令 一字节指令中的8位二进制代码既包含操作码的信息,也包含操作数的信息。在一字节指令中,有些指令的指令码中隐合着对某一寄存器的操作,NXP代理商无需再具体指定操作数。例如数 据指针DPTR加1指令;INC DPTR,其指令码为: 另外有些指令的操作数在通用寄存器中,由指令码中的rrr三位的不同编码来指定该 寄存器。例如:寄存器向氮加器A传送数据指令:MOV A,Rn,其指令码为: 其中,高5位表示操作内容——传送,最低三位rrr的不同二进制编码用来表示从哪一个寄 存器取数。 2.二字节指令。 二字节指令中的第一个字表尔操作码,第二个字节表示操作数,这里的操作数既可能是立即数,也可能是地址。其指令格式为: 3.三字节指令 三节节指令中,第一字节表示操作码,另两个字节是操作数,其指令格式为

绝大多数指令执行时都需要使用操作数,因此如何寻找存放操作数的单元地址和提取操作数就变得十分重要。Atmel代理所谓寻址方式就是如何找到存放操作数的地址,把操作数提取出来 的方法。 寻址方式与计算机的存储器空间结构有关,寻址方式越多,则计算机的功能越强,灵活性也越大,能更有效地处理各种数据,但指令系统也会相应的复杂。 MCS-51单片机共有七种寻址方式。下面分别加以介绍。 1.寄存器寻址 寄存器寻址是将所选定的工作寄存器组中的8个工作寄存器(R0—R7)的内容作为操 作数。指令操作码的低三位的不同组合分别代表R0—R7中的某一个。A、B、DPTR和C(位累加器)也能作为寄存器来寻址。例如: 这里源操作数和目标操作数均采用寄存器寻址.寄存器中的内容为操作数。 2.直接寻址 在直接寻址方式中、操作数由指令中的一个8位地址单元所指定。只有内部RAM中的00H~7FH地址单元和80H~FFH地址中的专用寄存器可直接寻址,且直接寻址是访问专 用寄存器的唯一方法。 采用直接寻址方式的指令是双字节指令,第一个字节是操作码,第二个字节是内部RAM的低128字节或专用寄存器的地址。例如: 此例中,源操作数采用直接寻址方式,表示把内部RAM中30H单元的内容送入A。指令代码为E5H、30H。 3.寄存器间接寻址 在寄存器间接寻址方式个,指令中给出的杏存器的内容为操作数的地址,而不是操作数本身。内部RAM和外部RAM都可以间接寻址。 当访问内部RAM或外部RAM的低256字节时,间址寄存器可以是选中寄存器组中的R0或R1,即内R0或R1间接给出操作数所在的地址‘ 当访问外部RAM时,16位间址寄存器只能使用16位数据指针寄存器DPTR,这时可对整个外部RAM空间(64KB)寻址。 PUSH和POP指令的执行也采用寄存器间接寻址,这时堆栈指针SP用作间址寄存 器。堆栈指针可驻留在内部RAM的任何地方;例如:

实验1__网络常用命令练习(一)

实验一网络常用命令练习(一) 实验目的及要求 (1)ping、netstat、ipconfig命令的练习。 实验内容: (1)ping命令的练习 Ping命令的常用参数选项 ·ping /? 这个命令可以显示命令的详细参数。 ·ping IP–t 连续对IP地址执行Ping命令,直到被用户以Ctrl+C中断。 ·ping IP -l 3000 指定Ping命令中的数据长度为3000字节,而不是缺省的32字节。 ·ping IP–n 执行特定次数的Ping命令。 (2)netstat命令的练习 netstat 的一些常用参数选项 ·netstat /? 这个命令可以显示命令的详细参数。 ·netstat –s 本选项能够按照各个协议分别显示其统计数据。如果我们的应用程序(如Web浏览器)运行速度比较慢,或者不能显示Web页之类的数据,那么我们就可以用本选项来查看一下所显示的信息。我们需要仔细查看统计数据的各行,找到出错的关键,进而确定问题所在。 ·netstat –e 本选项用于显示关于以太网的统计数据。它列出的项目包括传送的数据报的总字节数、错误数、删除数、数据报的数量和广播的数量。这些统计数据既有发送的数据报数量,也有接收的数据报数量。这个选项可以用来统计一些基本的网络流量。 ·netstat –r 本选项可以显示关于路由表的信息,类似于后面所讲使用route print命令时看到的信息。除了显示有效路由外,还显示当前有效的连接。 ·netstat –a 本选项显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED),也包括监听连接请求(LISTENING)的那些连接。 ·netstat –n 显示所有已建立的有效连接。 (3)ipconfig命令的练习 IPConfig最常用的选项 ·ipconfig 当使用IPConfig时不带任何参数选项,那么它为每个已经配置了的接口显示IP地址、子网掩码和缺省网关值。 ·ipconfig /all 当使用all选项时,IPConfig能为DNS和WINS服务器显示它已配置且所要使用的附加信息(如IP地址等),并且显示内置于本地网卡中的物理地址(MAC)。如果IP地址是从DHCP服务器租用的,IPConfig将显示DHCP 服务器的IP地址和租用地址预计失效的日期。

ARM基本指令实验报告书.

ARM基本指令实验报告书 ARM基本指令实验报告书1、实验内容或题目●熟悉开发环境的使用并使用ldr/str,mov 等指令访问寄存器或存储单元。●使用 add/sub/lsl/lsr/and/orr 等指令,完成基本数学/逻辑运算。2、实验目的与要求●初步学会使用Embest IDE for ARM 开发环境及ARM 软件模拟器;●通过实验掌握简单ARM 汇编指令的使用方法。3、实验步骤与源程序⑴ 实验步骤1) 新建工程:运行Embest IDE 集成开发环境,选择菜单项File → New Workspace,系统弹出一个对话框,输入相关内容。点击OK 按钮,将创建一个新工程,并同时创建一个与工程名相同的工作区。此时在工作区窗口将打开该工作区和工程。2) 建立源文件:点击菜单项File → New,系统弹出一个新的、没有标题的文本编辑窗,输入光标位于窗口中第一行,按照实验参考程序编辑输入源文件代码。3) 添加源文件:选择Project → Add To Project → Files 命令,或单击工程管理窗口中的相应右键菜单命令,弹出文件选择对话框,在工程目录下选择刚才建立的源文件asm1_a.s。4) 基本配置:选择菜单项Project → Settings…或快捷键Alt+F7,弹出工程设置对话框。在工程设置对话框中,选择Processor 设置对话框,按照图3-2 所示,进行目标板所用处理器的配置。5) 生成目标代码:选择菜单项Build → Build asm_a 或快捷键F7,生成目标代码。6) 调试设置:选择菜单项Project → Settings…或快捷键Alt+F7,弹出工程设置对话框。在工程设置对话框中,选择Remote 设置对话框,按照图3-4 所示对调试设备模块进行设置。7) 选择Debug 菜单Remote Connect 进行连接软件仿真器,执行Download 命令下载程序,并打开寄存器窗口。打开memory 窗口,观察地址0x8000~0x801f 的内容,与地址 0xff0~0xfff的内容。8) 单步执行程序并观察和记录寄存器与memory 的值变化。9) 结合实验内容和相关资料,观察程序运行,通过实验加深理解ARM 指令的使用。10)理解和掌握实验后,完成实验练习题。首先在C盘根目录下找到EmbestIDE文件夹,打开Examples\ARM_Basic\3.1_asm1,这是实验的第一题。系统用EmbestIDE Pro软件打开此项目。然后在软件中操作Build- >Build asm1_a,接着再操作Debug Remote Connect,最后操作Debug Download.便能得出结果。⑵ 源代码题目一: 0x00008000 mov sp, #40960x00008004 mov r0, #450x00008008 str r0, [sp]0x0000800c mov r0, #640x00008010 ldr r1, [sp]0x00008014 add r0, r0, r10x00008018 str r0, [sp] stop :0x0000801c b 0x801c题目二: 0x00008000 mov r0, #450x00008004 mov r0, r0, lsl #80x00008008 mov r1, #640x0000800c add r2, r0, r1, lsr #10x00008010 mov sp, #40960x00008014 str r2, [sp]毕业论文

相关文档
最新文档