资源描述:
《汇编 第4章 汇编语言程序格式》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章汇编语言程序格式汇编程序功能伪操作汇编语言程序格式汇编语言程序的上机过程1.程序运行步骤及生成的文件myfile.asm编辑程序汇编程序连接程序myfile.crfotherfiles.objmyfile.lstmyfile.objmyfile.mapmyfile.exe2.汇编程序功能汇编程序的主要功能:检查源程序,给出出错信息。产生目标文件(.obj)和列表文件(.lst)。展开宏指令。3.伪操作(伪指令)伪操作是汇编程序对源程序进行汇编时处理的操作,完成处理器选择、存储模式定义、数据定义、存储器分配、指示程序开始结束等功
2、能。处理器选择伪操作段定义伪操作程序开始和结束伪操作数据定义及存储器分配伪操作表达式赋值伪操作地址计数器与对准伪操作基数控制伪操作.8086选择8086指令系统.286选择80286指令系统.286P选择保护模式下的80286指令系统.386选择80386指令系统.386P选择保护模式下的80386指令系统.486选择80486指令系统.486P选择保护模式下的80486指令系统.586选择Pentium指令系统.586P选择保护模式下的Pentium指令系统◆处理器选择伪操作:◆段定义伪操作:完整的段定义格式datasegment;定义数
3、据段…dataends;----------------------------------------extrasegment;定义附加段…extraends;----------------------------------------codesegment;定义代码段assumecs:code,ds:data,es:extrastart:movax,datamovds,ax;段地址段寄存器…codeendsendstartPSPDSESSSCSEXE程序的内存映象图装入模块文件头段名SEGMENT[定位类型][组合类型][使
4、用类型][‘类别’]…………;语句序列段名ENDS定位类型align_typePARABYTEWORDDWORDPAGE组合类型combine_typePRIVATEPUBLICCOMMONSTACKATexp使用类型use_typeUSE16USE32(4)类别‘class’TITLEtextNAMEmodule_nameEND[label].STARTUP.EXIT[return_value]◆程序开始和结束伪操作:◆数据定义及存储器分配伪操作:[变量]助记符操作数[,操作数,…][;注释]助记符:DBDWDDDFDQDTDATA_BY
5、TEDB10,4,10H,?DATA_WORDDW100,100H,-5,?-0AH04H10H-64H00H00H01HFBHFFH-DATA_BYTEDATA_WORD例:ARRAYDB‘HELLO’DB‘AB’DW‘AB’48H45H4CH4CH4FH41H42H42H41HARRAYPAR1DW100,200PAR2DW300,400ADDR_TABLEDWPAR1,PAR2VARDB100DUP(?)DB2DUP(0,2DUP(1,2),3)BYTE_ARRAYLABELBYTEWORD_ARRAYDW50DUP(?)tos
6、LABELWORDLABEL伪操作:nameLABELtypeBYTE_ARRAYWORD_ARRAYtos50字0064H◆表达式赋值伪操作:表达式名EQU表达式ALPHAEQU9BETAEQUALPHA+18BBEQU[BP+8]“=”伪操作(允许重复定义)……EMP=7……EMP=EMP+1……◆地址计数器与对准伪操作:地址计数器$:保存当前正在汇编的指令的地址ORG$+8;跳过8个字节的存储区JNE$+6;转向地址是JNE的首址+6JMP$+2;转向下一条指令$用在伪操作的参数字段:表示地址计数器的当前值ARRAYDW1,2,
7、$+4,3,4,$+400H01H00H02H00H7CH00H03H00H04H00H82HARRAY007E00780074ORG伪操作:SEG1SEGMENTORG10VAR1DW1234HORG20VAR2DW5678HORG$+8VAR3DW1357HSEG1ENDSBUFFERLABELBYTEORG$+8BUFFERDB8DUP(?)ORG100HSTART:……◆基数控制伪操作:.RADIX表达式;规定无标记数的基数MOVBX,0FFHMOVBX,178.RADIX16MOVBX,0FFMOVBX,178D3.汇编语言程序
8、格式标号指令寄存器说明程序或语句变量伪指令标号的功能宏指令变量常数表达式源程序的每条语句可表示为:[名字]操作操作数[;注释]标号/变量:段值、偏移量、类型三种属性表达式:数字表