资源描述:
《汇编实践相关材料》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、《汇编语言》实验指导书莆田学院电子信息工程学系2010.02.269目录实验一掌握进位和溢出概念3实验二熟悉7种寻址方式4实验三掌握ADD,SUB等汇编指令及其对标志位的影响6实验四掌握循环程序的设计7实验五掌握子程序的设计89实验一掌握进位和溢出概念一、实验目的:掌握进位和溢出的概念。二、实验内容:用C语言编写程序,实现X=32767+1,Y=-32768-1,Z=65535+1(X,Y是有符号整型数据,Z是无符号整型数据),把X,Y,Z的值打印出来,根据结果判断三个算式计算完以后是否有进位或溢出。三、实验要求:1.用C语言编写程序;2.根据程序的运行结果掌握进位
2、和溢出的概念。四、实验学时:2学时五、实验步骤:1、上机编写程序,要求实现X=32767+1,Y=-32768-1,Z=65535+1(X,Y是有符号整型数据,Z是无符号整型数据),把X,Y,Z的值打印出来。2、根据结果判断三个算式计算完以后是否有进位或溢出,并根据结果总结进位和溢出的概念。3、把圆周65536等分,每个等分上标出从-32768-32767的数据,要求顺时针相邻两个数有加1的关系。七、实验报告要求1、按要去的格式打印实验报告及程序清单。2、报告给出测试的结果。9实验二熟悉7种寻址方式一、实验目的:掌握debug命令,熟悉7种寻址方式。二、实验内容:输
3、入给出的程序,通过对程序的调试和运行了解指令操作数的寻址方式以及它的有效地址。三、实验要求:1.能够通过DEBUG命令来实现对汇编程序的调试;2.掌握汇编指令的操作数的七种寻址方式。四、实验学时:4学时五、实验步骤:1、上机输入以下程序:datasegmentxdb01,02ydb?,?zdb?,?wdw1234hdataendscodesegmentmainprocfarassumecs:code,ds:datastart:pushdsxorax,axpushaxmovax,datamovds,axmovdx,1234hmovcl,ds:[0000h]movsi,
4、0000hmovdi,0002hmoval,[si]mov[di],aladdsi,1adddi,1moval,[si]mov[di],almovsi,0000hmovdi,0000h9moval,x[si]movy[di],aladdsi,1adddi,1moval,x[si]movy[di],almovsi,0000hmovdi,0000hmovbx,0000hmovbp,0004hmoval,[bx][si]movds:[bp][di],aladdsi,1adddi,1moval,[bx][si]movds:[bp][di],alretmainendpcode
5、endsend2、写出上面汇编程序中字体为红色的指令的源操作数的寻址方式以及源操作数的有效地址。3、画图说明数据段中变量所分配的存储空间及初始化的数据值。七、实验报告要求1、按要去的格式打印实验报告及程序清单。2、报告给出测试的结果。99实验三掌握ADD,SUB等汇编指令及其对标志位的影响一、实验目的:掌握ADD,SUB,MUL,IMUL,DIV,IDIV汇编算术指令以及它们对标志位的影响。二、实验内容:输入给出程序,通过对程序的调试掌握ADD,SUB等汇编指令的操作及其对标志位的影响;编程实现Z(W*X)/(Y+6),R余数(其中X,Y,Z,R和W均为存放16为带
6、符号数单元的地址。三、实验要求:1.能够通过DEBUG命令来实现对汇编程序的调试;2.掌握ADD,SUB,MUL,IMUL,DIV,IDIV汇编算术指令以及它们对标志位的影响。四、实验学时:2学时五、实验步骤:1、上机输入以下程序:codesegmentmainprocfarassumecs:codestart:pushdsxorax,axpushaxmovax,0decaxaddax,7FFFHaddax,2negaxsubax,0FFFFHretmainendpcodeendsend2、写出上面汇编程序中字体为红色的指令执行后,AX寄存器及标志位CF,SF,ZF
7、和OF的内容是什么?3、编程实现Z(W*X)/(Y+6),R余数(其中X,Y,Z,R和W均为存放16位带符号数单元的地址。七、实验报告要求1、按要去的格式打印实验报告及程序清单。2、报告给出测试的结果。9实验四掌握循环程序的设计一、实验目的:掌握程序设计中的顺序结构和循环结构。二、实验内容:编程实现:(1)已知数据段定义如下:datasegmentxdb12arraydb1,5,8,16,18,21dataends把数据x插入到数组array中。(2)已知数据段定义如下:datasegmentxdb16arraydb1,5,8,16,18,21dataends从