东北大学汇编实验Word文档格式.docx

上传人:b****3 文档编号:14041812 上传时间:2022-10-17 格式:DOCX 页数:15 大小:85.71KB
下载 相关 举报
东北大学汇编实验Word文档格式.docx_第1页
第1页 / 共15页
东北大学汇编实验Word文档格式.docx_第2页
第2页 / 共15页
东北大学汇编实验Word文档格式.docx_第3页
第3页 / 共15页
东北大学汇编实验Word文档格式.docx_第4页
第4页 / 共15页
东北大学汇编实验Word文档格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

东北大学汇编实验Word文档格式.docx

《东北大学汇编实验Word文档格式.docx》由会员分享,可在线阅读,更多相关《东北大学汇编实验Word文档格式.docx(15页珍藏版)》请在冰豆网上搜索。

东北大学汇编实验Word文档格式.docx

评定日期

东北大学软件学院

实验1数据传送指令

1、实验目的:

了解和掌握MOVPUSHPOPXCH四条指令的作用和在编程中的用法。

2、实验要求:

EDX9个寄存器。

INCLUDEIrvine32.inc.code

mainPROC

callDumpRegsmoveax,19E0Hmovebx,3F56Hmovecx,0AF37Hmovedx,9A81HcallDumpRegsexit

mainendp

ENDmain

EDX=00401000

INCLUDEIrvine32.inc.codemainPROC

callDumpRegsmoveax,19E0Hmovebx,eaxmovecx,ebxmovedx,ecxcallDumpRegsexit

(2)对EAXEBXECXED)四个寄存器进行出入堆栈的操作。

(I)将EAXEBXECXEDX四个寄存器的内容依次压入堆栈中,注意观察栈指针寄存器和堆栈内容的变化。

(ESP=75C5919F

(ESP=00000000

(ESP=FFFFC000

记录:

压入EAX前ESP=0018FF90,

压入EAX后ESP=0018FF8C

压入EBX前ESP=0018FF8C

压入EBX后ESP=0018FF88,

压入ECX^ESP=0018FF88,

压入ECX后ESP=0018FF84,

压入EDX^ESP=0018FF84,

压入EDX后ESP=0018FF80,

操作过程中所用到的指令:

callDumpRegsmoveax,[esp]callDumpRegspusheax

callDumpRegspushebx

callDumpRegs

pushecxcallDumpRegspushedx

exitmainendp

ENDmain

(n)将堆栈中的内容依次弹出到EAXEBXECXED潮个寄存器,注意观察栈指针寄存

器和堆栈内容的变化。

弹出到EAX前ESP=0018FF90,(ESP=00000000

弹出到EAX后ESP=0018FF94,(ESP=00000000

(ESP

=00000000

=E18A40B7

=FFFFF801

includeIrvine32.inc

.code

mainproc

movesi,[esp]

pusheax

pushebx

pushecx

pushedx

popedx

movesi,[esp]callDumpRegs

popebx

弹出至yEBX前ESP=0018FF94,弹出至卩EBX后ESP=0018FF98,弹出至卩ECX前ESP=0018FF98,弹出至卩ECX后ESP=0018FF9C,弹出至yEDX前ESP=0018FF9C,弹出至yEDX后ESP=0018FFAQ操作过程中所用到的指令:

callDumpRegspopeax

exit

endmain

(3)已知EAX=3F56HECX=4690H,利用交换指令交换这两个寄存器的内容。

ECX=00004690

ECX=00003F56

交换前EAX=00003F56

交换后EAX=00004690

操作过程中所用到的指令:

IncludeIrvine32.inc

moveax,3F56Hmovecx,4690HcallDumpRegsxchgeax,ecxcallDumpRegsexit

mainENDP

实验二逻辑指令、跳转指令与分支程序设计

了解和掌握逻辑指令、比较指令、无条件/有条件转移类指令的功能和作用,以及此类

指令的使用方法。

具体了解和掌握逻辑指令、比较指令、无条件/有条件转移类指令的使用和在使用时应注意的问题,学习分支型程序设计的一般方法。

(1)在DEBU系统状态下,分别编制、调试并记录以下逻辑指令程序段的每一条指令的运行情况:

(I)

moval,41|al=29H

oral,20|al=3DH

(n)

moval,66

Ial=42H

andal,0df

Ial=00H

(川)

movEAX,5678

IEAX=0000162EH

xorEAX,EAX

IEAX=00000000H

(W)

movEAX,0ff00

IEAX=0000FF00H

notEAX

IEAX=FFFF00FFH

(V)

movEAX,1234

IEAX=000004D2H

testEAX,1

IEAX=000004D2HSF=0ZF=1OF=0

testEAX,2

IEAX=000004D2HSF=0ZF=0OF=0

testEAX,4

testEAX,8

testEAX,10

testEAX,20

testEAX,40

testEAX,80

test指令的作用是将原操作数与目的操作数相与,但结果不送会目的操作数,只改变标

志位,并不修改操作数。

(2)已知DATA单元开始存放三个带符号数,编制程序,检查三个数据是否同号,若同时为正,则在显示器上显示“+”;

同时为负,则显示“-”;

否则显示空格“”。

要求:

分别用三组数据(同时为正,同时为负,异号)调试程序,验证程序的正确性。

.data

interraysdword23h,23h,-23h

movedi,OFFSETinterray

moveax,[edi]

andeax,80000000h

moveax,[edi+4]

moveax,[edi+8]

popeax

popecx

jnzL1

cmpeax,ebx

jneL2

cmpeax,ecx

moval,'

+'

callWriteCharexit

L1:

-'

L2:

'

callWriteChar

实验三算术运算类指令、移位指令及循环程序设计

1、实验目的:

了解和掌握加、减、乘、除指令的在程序设计中的用法和应注意的问题,了解和掌握移

位指令的功能、作用和方法。

了解和掌握循环控制类指令的功能、作用和方法。

学会循

环程序设计的方法。

学习汇编语言输出输入语句的设计。

具体了解和掌握算术类指令、移位指令和循环控制类指令的使用,以及在使用时应注意

的问题,学习循环程序设计的

般方法。

条指令的

(1)在DEBU系统状态下,分别编制、调试并记录以下加、减程序段的每

运行情况,查看寄存器的结果:

MOVEAX,2389

MOVEBX,OCEDFH

ADDEAX,EBX

MOVEBX,0CEDFH

SUBEAX,EBX

ADDAH,BH

IEAX=00000955H

IEBX=0000CEDFH

IEAX=0000D834H

IEAX=FFFF3A76H

IAH=D7BH=CE

EBX=0000CEDFH

ADDAL,BL

ADCAL,BL

IAL=34BL=DF

IAL=34BL=DFEFL=00000213

(2)在DEBU系统状态下,分别编制、调试并记录以下乘、除程序段的每一条指令的运行情况:

MOVAL,23

MOVBL,0CEH

MULBL

MOVAX,2389

MOVBX,0CEDFH

MULBX

DIVBL

MOVDX,0856

DIVBX

IAL=17H

IBL=CEH

IAX=1282HOV=1

IAX=0955H

IBX=CEDFH

IDX=078AHAX=870BHCF=1

IBL=0CEH

IAH=7BHAL=0BH

IDX=0358H

IAX=0423HDX=44D8H

(3)在DEBU系统状态下,运行情况:

movEAX,420

shlEAX,1

movEAX,240

movcl,4

shlEAX,cl

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1