资源描述:
《X86汇编语言数据处理基础》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、编制一汇编语言源程序实现下列运算s=(a+b)/(a-b)*ctitleexample5-1;给程序模块命名,可以用name代替titledatasegment;data为数据段标号,数据段定义伪操作开始adb6 ;a为变量名,db为字节型数据定义伪操作,123为赋值量bdb3注意:其中赋值量的部分可以使用汇编语言表达式cdb5sdb0dataends;数据段定义伪操作结束stack1segmentparastackdw20hdup(0)stack1endscodesegmentassumecs:code,ds:data;ss:stack1;指
2、定段寄存器伪操作begin:movax,data;begin为程序段标号movds,ax在使用数据段之前要把数据段的基址值真正放入DSmoval,a;在MOV指令的源操作数中可以还可以使用常量和汇编语言表达式subal,bmovs,almoval,aaddal,bxorah,ahdivsmulcmovs,almovah,4ch;DOS系统调用,终止程序的执行int21hcodeends;代码段定义结束endbegin;程序段结束汇编工具的使用一、用edit建立.asm汇编源程序二、用masm汇编源程序代码为obj目标代码三、用link链接目标代
3、码为.exe可执行程序四、用debug对可执行程序进行调试和执行U:列出程序的二进制形式和符号指令G:执行程序段R:查看寄存器内容D:查看内存单元的内容汇编语言的运算符和表达式一、算术运算符+、-、*、/、MOD(教材140页举例,lds2.asm、lds3.asm)二、逻辑运算符and、or、not、xor(教材141页举例,lds4.asm)三、移位运算符SHL、SHR(教材141页举例,lds5.asm)四、关系运算符EQ、NE、LT、LE、GT、GE(lds6.asm)五、字节分离运算符HIGH、LOW(教材142页)汇编语言的运算符和
4、表达式六、数值回送操作符1、type变量:回送变量类型的数值2、type标号:标号类型的数值(教材142页举例)3、length变量:回送变量中元素个数(143页)4、size变量:回送该变量的字节数(length*type)汇编语言的运算符和表达式七、属性操作符:操作符:改变有效地址的默认段属性(144页上)Ptr操作符:重新定义变量或者表达式的类型(144页下,lds7.asm),也可以改变标号的类型(near和far)This操作符(教材145,lds7.asm)titlelds2datasegmentcountdb2+1,3,?data
5、endscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmoval,[count]movbl,[count+1]addal,blmov[count+2],almovah,4chint21hcodeendsendstartnamelds3Datasegmentcountdw?Dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmovbx,56h+78hmovcount,bxmovah,4chint21hcod
6、eendsendstarttitlelds4datasegmentcountdb?dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmoval,55hAND0fhmovcount,almovah,4chint21hcodeendsendstarttitlelds5datasegmentcountdb?dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmoval,00100111bshl2mo
7、vcount,almovah,4chint21hcodeendsendstarttitlelds6datasegmentcountdb?dataendscodesegmentassumecs:code,ds:datastart:movax,datamovds,axmoval,10LT9movcount,almovah,4chint21hcodeendsendstarttitlelds7datasegmentdata1equthisbytedata2dw1234hdata3equbyteptrdata2dataendscodesegmentass
8、umecs:code,ds:datastart:movax,datamovds,axmoval,data1movbx,data2movcl,data3