- 1、本文档共32页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理与接口讲案4
第3章 汇编语言程序设计 Assembly Language Programming 格式# 伪指令# ╳ DOS/BIOS调用 (简单了解) 重点:数据结构表示 变量、指针 程序结构 程序流控制(条件、分支、循环) 程序设计方法 程序设计语言与汇编语言(2) 汇编语言(Assembly Language)---面向具体机器(CPU)语言 ,最接近于机器语言的低级语言。借助于助记符编程,地址数据可符号化(可读性提高),编写、修改较方便。完整的语法,不易出错。例: ADD AX,100 (05 64 00) JMP 1000:2000 (EA 00 20 00 10) 特点:汇编语言程序----机器代码一一对应,程序流可控,速度快,用于编制系统程序、实时通信/控制/处理。---面向具体机器(CPU)语言,移植性差,不通用。 汇编(Assemble)源程序代码?机器语言代码(目标程序)的过程。功能:语法检查、翻译。汇编程序Assembler?机器汇编(??人工汇编)。交叉汇编—借助其它机器(如PC)汇编。 反汇编(Dis-Assemble) 机器语言代码?指令代码(源程序) ,?逆向工程—Reverse Engineering) 微机系统与接口技术 东南大学 计算机程序设计语言 3.1程序设计语言与汇编语言 机器语言、汇编语言和高级语言 高级语言(High Level Language): 通用,一般不要求了解结构原理。易读,易编写,调试,简洁 BASIC,….,VC(++)/VB/DELPHI,JAVA,C#,HTML ==?机器语言(执行)---翻译/编译 解释程序(Interpreter)/编译程序(Compiler) (编译原理) C++编译?真实指令 JAVA编译 Java bytecode中间代码?虚拟机指令?JAVA解释器 机器语言 二进制表示的指令和数据序列--目标代码 汇编程序获取 (1)机器码?Disassemble Sourcer /debuger (2)C ?ASM CL /Fa开关; TCC ---B ; (3)ASM 编程 (高级语言嵌入小汇编程序模块) MASM TASM ASM; 汇编程序(MS-MASM 4.0/5.0 6.11/6.14/6.15) ASM86(小,无宏MICRO支持) TASM5.0) 汇编程序用途 程序设计语言与汇编语言(3) DATA SEGMENT ;定义数据段 DATA1 DB 0F8H,60H, 0ACH,74H,3BH;被加数 DATA2 DB 0C1H,36H,9EH,0D5H,20H;加数 DATA ENDS;数据段结束 CODE SEGMENT;定义代码段 ASSUME CS:CODE,DS:DATA;告诉汇编程序段范围 START: MOV AX,DATA MOV DS,AX ;初始化DS MOV CX,5 ;循环次数送CX MOV SI,0 ;置SI初值为零 3.2 汇编语言源程序格式 段名 段说明保留字 标号 汇编语言源程序格式(例1续) CLC ; 清CF标志 LOOPER:MOV AL,DATA2[SI];取一个字节加数 ADC DATA1[SI],AL;与被加数相加 INC SI ;SI加1指向下一字节 DEC CX ;计数器CX减1 JNZ LOOPER ;不等于零,转LOOPER (HLT) ;停止--实际?(INT21H) CODE ENDS ;代码段结束 END START;源程序结束,指定起始地址标号 汇编语言源程序格式(例2) (PC台式计算机在MS-DO
文档评论(0)