欢迎来到天天文库
浏览记录
ID:1209394
大小:1.39 MB
页数:65页
时间:2017-11-08
《汇编语言程序设计实验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、汇编语言程序设计实验指导64实验一:字符串的显示及回车换行一.实验目的a)熟悉、掌握汇编语言的框架b)实现字符串的显示与回车换行二、实验重难点a)重点:需要运用mov指令实现数据的传送,操作结束须退出指令退出操作。1.mov指令格式:Movdest,src;dest为目的操作数,src为源操作数Mov指令是双目操作,其中dest可为寄存器(R)、储存器(M.M),src可为R、M.M、立即数([IMM])。2.退出指令:Movah,4chInt21hb)难点:汇编语言不提供显示输出指令,也不提供回车换行指令,需借用DOS中的显示功能以及其中显示一个
2、字符的功能。如:回车符的ASSII码是0dh(13),换行符的ASSII码是0ah(10)。1.借用dos显示输出:Movdx,offsetstrMovah,9Int21h642.回车换行的实现:Movdl,0dhMovah,2回车Int21hMovdl,0ahMovah,2换行Int21h三.程序代码a)字符串hello的显示:Datasegment;数据段开始Str1db“hello$”;$为结束符Dataends;数据段结束Codesegment;代码段开始Assumecs:code,ds:dataStart:movax,dataMovds,
3、ax取数据Movdx,offsetstr1Movah,9Int21hMovah,4chInt21hCodeends;代码段结束64Endstart四、实验结果b)实现helloworld的回车换行显示:数据段添加:Str2db“world$”代码段添加:Movdl,0dhMovah,2Int21hMovdl,0ahMovah,2Int21h运行结果:64实验二:减法运算及混合运算一.实验目的a)熟悉、掌握汇编语言的框架b)熟悉、掌握加法指令、减法指令c)实现加减法运算及其混合运算d)熟悉、掌握使用Debug命令方法及步骤二、实验重难点a)重点:在进
4、行加减运算及其混合运算须用到加法指令、减法指令,需熟练掌握各条指令格式及功能。1.加法指令1)加法指令ADD指令格式:ADDdest,src;dest<—dest+src,dest为被加数src为加数ADD指令为双目操作,其中dest可为R、M.M,src可为R、M.M、[IMM],但不可同为M.M。2)带进位加法指令ADC指令格式:ADCdest,src;dest<—dest+src+CF,CF是进位2、减法指令1)减法指令SUB指令格式:64SUBdest,src;dest<—dest-src,dest为被减数,src为减数SUB指令为双目操作
5、,其中dest可为R、M.M,src可为R、M.M、[IMM],但不可同为M.M。2)带借位减法指令SBB指令格式:SBBdest,src;dest<—dest-src-CF,CF为借位b)难点:运算结果不能直接显示,需要借用debug命令调用exe文件进行显示。指令格式:Debug.exe1.exe;调用文件1-t;单步执行命令-dds:0000;显示指定范围内存储单元内容-q;结束Debug的运行,返回DOS三、程序代码实现不带进位w=x+y,其中x=25,y=30:Datasegment;数据段开始xdb25ydb30wdb(?)dataen
6、ds;数据段结束codesegment;代码段开始64assumecs:code,ds:datastart:movax,datamovds,axmoval,xaddal,ymovw,almovah,4chint21hcodeends;代码段结束endstart四、实验结果64实验三:乘、除法运算及其混合运算一、实验目的a)熟练掌握汇编语言的框架b)熟悉、掌握乘法、除法指令c)熟练掌握使用Debug命令查看实验结果d)实现乘、除法运算及其混合运算二、实验重难点a)重点:在进行乘除法及其混合运算时,需用到乘法指令、除法指令,须熟悉、掌握各条指令的格式及
7、功能;乘除法运算结果也不能直接显示,须借用Debug命令查看结果。1、乘法指令1)无符号数乘法指令MUL指令格式:MUL是单目操作MULsrc;src中存放的是乘数,且存放在R、M.M中若src是8位,被乘数存在AL中积存AXSrc是16位,被乘数存在AX,积存DX:AX功能:8位时(AX)<—(AL)*src;16位时(DX)(AX)<—(AX)*src2)带符号数乘法指令IMUL指令格式:IMULsrc;同乘法指令;可完成两个带符号数相乘2、除法指令1)无符号数除法指令DIV64指令格式:DIV为单目操作Src中存放是是除数,且存放在R、M.M
8、中DIVsrc;8位,被除数定为16位存AX,商存AL,余存AHSrc16位,被除数为32位存DX:AX,商存AX,余存D
此文档下载收益归作者所有