欢迎来到天天文库
浏览记录
ID:56990459
大小:410.50 KB
页数:76页
时间:2020-07-25
《微机原理第4章-汇编语言课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、及秦红磊,金天2004.02微机原理接口技术第四章汇编语言(AssemblyLanguage)第一节.程序设计语言与汇编语言第二节.汇编语言伪指令第二节.汇编程序编辑、汇编与链接程序第四节.汇编语言程序设计计算机程序设计语言机器语言、汇编语言和高级语言高级语言(HighLevelLanguage):通用,一般不要求了解结构原理。易读,易编写,调试,简洁BASIC,….,VC(++)/VB/DELPHI,JAVA,C#,HTML==>机器语言(执行)---翻译/编译解释程序(Interpreter)/编译程序(Compiler)(编译原理)C++编译真实指令JAVA编译Jav
2、abytecode中间代码虚拟机指令JAVA解释器第一节程序设计语言汇编语言程序设计语言与汇编语言汇编语言(AssemblyLanguage)---面向具体机器(CPU)语言,最接近于机器语言的低级语言。借助于助记符编程,地址数据可符号化(可读性提高),编写、修改较方便。完整的语法,不易出错。例:ADDAX,100(056400)JMP1000:2000(EA00200010)特点:汇编语言程序----机器代码一一对应,程序流可控,速度快,用于编制系统程序、实时通信/控制/处理。---面向具体机器(CPU)语言,移植性差,不通用。汇编(Assemble)源程序代码机器语言
3、代码(目标程序)的过程。功能:语法检查、翻译。汇编程序Assembler机器汇编(人工汇编)。交叉汇编—借助其它机器(如PC)汇编。反汇编(Dis-Assemble)机器语言代码指令代码(源程序),逆向工程—ReverseEngineering)机器语言二进制表示的指令和数据序列--目标代码汇编程序获取(1)机器码DisassembleSourcer/debuger(2)CASMCL/Fa开关;TCC---B;(3)ASM编程(高级语言嵌入小汇编程序模块)MASMTASMASM;汇编程序(MS-MASM4.0/5.06.11/6.14/6.15)ASM86(小,无
4、宏MICRO支持)TASM5.0)汇编程序用途程序设计语言与汇编语言DATASEGMENT;定义数据段DATA1DB0F8H,60H,0ACH,74H,3BH;被加数DATA2DB0C1H,36H,9EH,0D5H,20H;加数DATAENDS;数据段结束CODESEGMENT;定义代码段ASSUMECS:CODE,DS:DATA;告诉汇编程序段范围START:MOVAX,DATAMOVDS,AX;初始化DSMOVCX,5;循环次数送CXMOVSI,0;置SI初值为零汇编语言源程序格式(例1)段名段说明保留字标号CLC;清CF标志LOOPER:MOVAL,DATA2[SI];取
5、一个字节加数ADCDATA1[SI],AL;与被加数相加INCSI;SI加1指向下一字节DECCX;计数器CX减1JNZLOOPER;不等于零,转LOOPER(HLT);停止--实际?(INT21H)CODEENDS;代码段结束ENDSTART;源程序结束,指定起始地址标号汇编语言源程序格式(例2)(PC台式计算机在MS-DOS环境下的标准程序格式)MAINPROCFAR;MS-DOS模板语句PUSHDSXORAX,AX;=MOVAX,0PUSHAX;保存返回指针START:MOVAX,DATAMOVDS,AX:RET;返回原DS:0000HMS-DOSMAINENDP汇编语
6、言源程序格式分段结构指定堆栈、数据、代码段---SEGMENT---ENDS--(END结束?)?当前物理段(SS/CS/DS/ES)--运行/逻辑段—编程程序语句的类型和组成基本单元:语句指令性语句----CPU指令/指示性语句----伪操作(汇编辅助信息)语句构成:[name]Opcode/伪操作[操作数][;注释]LOOP1:….(指令)/DATA1DB….(伪操作)汇编语言源程序格式程序语句表面上组成保留字(ReservedWords)SEGMENTENDSOFFSETSIZEDBDWDDMOVPUSHADDSUBMULDIVINCDECLOOPPROCENDPCAL
7、LRETEND标识符(Identifiers字母+字母/数字/_,<32个)界符(Delimiters分隔两部分)空格:,常数(Const.s)1000H11101000B0ABCDH注释(Comments);分号后大段语句:.Comment@/@汇编语言源程序格式标号(Label)xxxx:指令的符号地址(可浮动)段、偏移量、类型((NEAR)/FAR)变量名/段名/过程名----指示性语句(可浮动)---无冒号;---有规定----段、偏移量、类型(操作数)(BYTE/WORD/DWOR
此文档下载收益归作者所有