汇编语言硬件知识.ppt

汇编语言硬件知识.ppt

ID:61905561

大小:140.00 KB

页数:57页

时间:2021-03-26

汇编语言硬件知识.ppt_第1页
汇编语言硬件知识.ppt_第2页
汇编语言硬件知识.ppt_第3页
汇编语言硬件知识.ppt_第4页
汇编语言硬件知识.ppt_第5页
资源描述:

《汇编语言硬件知识.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第2部分汇编语言基础知识AssemblyLanguageProgramming1汇编语言的编码要求AssemblyLanguageProgramming基本特征程序注释保留字标识符语句伪操作汇编程序的基本框架数据类型简单的程序举例注释注释利用;开始可自成一行,也可在指令之后的同一行里例如ADDAX,BX;计算总量保留字在特殊情况下使用,具有固定用途而保留的某些名字,称为保留字。主要类型:指令如MOV,ADD等计算机可执行的操作伪操作如END,SEGMENT,为编译程序提供信息的语句操作符如FAR,SIZ

2、E,在表达式中使用预定义符号如@data,@model等,在编译期间向程序返回信息标识符1用户定义的符号名称,包括两类:数据项的名称:表示数据项的地址如COUNTERDB0标号:表示指令、过程或者段的地址MAINPROCFARB30:ADDBL,25标识符2定义规则第一个字符必须是字母或者不为.的特殊字符长度限定在1-31之间不能和保留字相冲突不区分大小写例如合法:TATAL,QTY25,$P80非法:5P,.TY字母:A~Z和a~z数字:0~9特殊:?_@.$语句语句包括两类:指令——具有对应的机器码

3、例如:ADD,MOV伪指令——只在程序汇编过程起作用,产生机器不可执行的代码例如:定义数据项DB,DW指令指令机器指令操作operation是必有的,规定该指令的动作操作数operand是可选的,并且数量不定例如:标识符操作操作数伪指令:COUNTDB1指令:MOVAX,0[标示名称]操作[操作数1~n][;注释]伪操作介绍几个常用的伪操作PAGE和TITLESEGMENTPROCEND和ENDPASSUME[标示名称]伪操作[操作数1~n][;注释]PAGE和TITLE程序的开头,PAGE定义程序

4、打印时一页的最大行数和每行最大字符数。默认50,80格式:PAGE60,132TITLE为程序产生标题,打印程序时位于第2行格式:TITLEAssemblyprogramsortSEGMENT格式:segment_nameSEGMENT[align][combine][‘class’]……segment_nameENDS解释定位align:指明段开始的边界。通常段为小边界,参数为PARA。组合combine:指明程序连接时,该段是否和其它的段组合在一起(以后解释),参数为STACK,COMMON,PUB

5、LIC堆栈段通常定义segment_nameSEGMENTPARASTACK类别class:指明段的类别代码段‘code’,数据段‘data’,堆栈段‘stack’PROC定义过程,格式:proc_namePROCFAR……proc_nameENDP过程名的操作数为FAR,意味着相应程序的入口点为此过程,在程序中只有一个操作数为FAR的过程。ENDP指明过程的结束,过程的结束在代码段内,即ENDS之前完成。代码段内可以包含任意数量的过程,其它的过程通常使用NEAR的操作数。ENDENDS段结束ENDP过

6、程结束END完整的程序结束格式:END过程操作数FAR的PROCASSUME指明程序各个段的用途典型的格式ASSUMEDS:dataseg,CS:codeseg,SS:stackseg,……上述的次序任意假如需要扩展段ES,也可以加上即可ES:dataseg程序的框架结构page60,132TITLEA04ASM1(EXE)MoveandaddoperationsSTACKSEGMENTPARASTACK'Stack'…….STACKENDS;------------------------------

7、----------------DATASEGSEGMENTPARA'Data'……DATASEGENDS;-----------------------------------------------CODESEGSEGMENTPARA'Code'MAINPROCFARASSUMESS:STACK,DS:DATASEG,CS:CODESEGMOVAX,DATASEG;SetaddressofdataMOVDS,AX;segmentinDS…….MOVAX,4C00H;EndprocessingINT2

8、1HMAINENDP;EndofprocedureCODESEGENDS;EndofsegmentENDMAIN;Endofprogram解释段的定义顺序可任意入口过程MAIN的名称可以为其它,例如START等程序结束返回MOVAH,4CH;请求结束处理MOVAL,retcode;设置返回码INT21H;调用中断处理通常正常返回0,故可写作MOVAX,4C00HINT21H编程技巧提示由于汇编源程序的格式相对不变,故可以把上述的框架保留下来

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。