资源描述:
《计算机组成原理与汇编语言第8章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第八章汇编语言一、概述1.高级语言与汇编语言比较高级语言:语句变量说明/定义inty,a=25,b=43,c=76;给变量赋值y=2(a+b)-c汇编语言:指令分配寄存器分配存储单元数据传递2.汇编程序结构数据段堆栈段代码段;设置数据段DATASEGMENTADB25;数据ABDB43;数据BCDB76;数据CYDB?;存放结果DATAENDS;设置堆栈段STACK1SEGMENTPARASTACKDW20HDUP(0)STACK1ENDS示例:y=2(a+b)-c;设置代码段COSEGSEGMENTASSUMECS:COSEG,DS:DATA,
2、SS:STACK1START:MOVAX,DATA;装填段寄存器DSMOVDS,AXMOVAL,A;取数据AADDAL,B;计算(A+B)SALAL,1;计算2(A+B)SUBAL,C;计算2(A+B)-CMOVY,AL;存结果MOVAH,4CH;结束用户程序,返回操作系统INT21HCOSEGENDSENDSTART示例:y=2(a+b)-c汇编语言:是汇编格式指令,伪指令的集合及其表示,使用这些指令的一组规则。机器语言:用二进制编码的机器指令的集合及一组使用规则,它是CPU能直接识别的唯一语言。MOVDS,AX——汇编语言8ED8——机器语言
3、(目标代码)汇编语言与机器语言汇编语言与目标代码的对应00192B4CB8XXXX8ED8A0000002060100D0E024060200A20300B44CCDMOVAX,DATAMOVDS,DXMOVAL,AADDAL,B21数据A数据B数据C数据Y地址增大方向SALAL,1SUBAL,CMOVY,ALINT21HMOVAH,4CH与机器语言相关效率高编写源程序繁琐调试困难汇编语言特点对软件的执行时间或存储容量有较高要求的场合,如操作系统的内核、工业控制领域、实时系统等。在大型软件中某些影响系统性能的瓶颈程序或者频繁使用的子程序可以采用汇
4、编语言编程。与硬件资源密切相关的软件程序,如设备驱动程序。没有合适的高级语言去开发的程序。汇编语言的用途二、汇编语言语句种类语句种类指令语句:又叫可执行语句,在汇编时产生一个目标代码,对应机器的一种操作。伪指令语句:又叫命令语句。用于指示汇编程序如何汇编源程序,除了数据定义语句之外,没有目标代码与之对应。宏指令语句:由用户自定义的指令。(指令的扩展)格式:名字操作符操作数;注释指令语句:[标号:]助记符[操作数[,操作数]][;注释]伪指令语句:[名字]定义符[参数,...,参数][;注释]命名规则:可以用?,@,_$,数字和英文字符。名字的第一
5、个字符不能是数字。名字的长度不受限制,但只有前31个字符有效。不允许用保留字作名字(指令、伪指令、寄存器名)。二、汇编语言语句格式MASM宏汇编保留字汇编指令AAAAADAAMAASADCADDANDCALLCBWCLCCLDCLICMCCMPCMPSCWDDAADASDECDIVESCHLTIDIVIMULININCINTINTOIRETJAJAEJBJBEJCXZJEJGJGEJLJLEJMPJNAJNAEJNBJNBEJNEJNGJNGEJNLJNLEJNOJNPJNSJNEJOJPJPEJPOJSJZLAHFLDSLEALESLOCKLO
6、DSLOOPLOOPELOOPNELOOPNZLOOPZMOVMOVSMULNEGNOPNOTOROUTPOPPOPFPUSHPUSHFRCLRCRREPREPEREPNEREPNZREPZRETROLRORSAHFSALSARSBBSCASSHLSHRSTCSTDSTISTOSSUBTESTWAITXCHGXLATXOR寄存器名AHALAXBHBLBXCHCLCXDHDLDXCSDSESSSBPDISISP伪指令ASSUMECODEMACRODBDDDWENDENDMENDPENDSEQUEXTRNGROUPLABELMODROMNAMENOS
7、EGFIXORGPROCINCLUDEPUBLICPURGERECORDSEGFIXSEGMENT操作符及其他ABSATBYTECOMMONDUPEQFARGEGTHIGHLENLELENGTHLOWLTMASKMEMORYMODNENEARNOTHINGOFFSETPAGEPARAPREFIXPTRSEGSHORTSIZESTACKTHISTYPEWIDTHMASM宏汇编保留字三、符号定义语句1.等值语句格式:符号EQU表达式表达式:常数或数值表达式地址表达式变量或标号CONSTEQU10ADR1EQUDS:[BP+14H]ADR2EQUCON
8、ST+10COUNEQUVAR为变量名VAR另定义一个别名同一符号不能用EQU重新定义。汇编时,作为替代符号用,不产生目标代码,不占有存