微机原理与接口幻灯片.ppt
《微机原理与接口幻灯片.ppt》由会员分享,可在线阅读,更多相关《微机原理与接口幻灯片.ppt(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、微机原理与接口课件第1页,共32页,编辑于2022年,星期六计算机计算机程序程序设计语言设计语言 3.1程序设计语言与汇编语言程序设计语言与汇编语言机器语言、汇编语言和高级语言机器语言、汇编语言和高级语言高级语言(高级语言(High Level Language):通用,一般不要求了通用,一般不要求了解结构原理。易读,易编写,调试,简洁解结构原理。易读,易编写,调试,简洁BASIC,.,VC(+)/VB/DELPHI,JAVA,C#,HTML =机器语言(执行)机器语言(执行)-翻译翻译/编译编译 解释程序(解释程序(Interpreter)/编译程序(编译程序(Compiler)(编译原理)
2、(编译原理)C+编译编译真实指令真实指令 JAVA编译编译 Java bytecode中间代码中间代码虚拟机指令虚拟机指令JAVA解释器解释器2第2页,共32页,编辑于2022年,星期六程序设计语言与汇编语言程序设计语言与汇编语言(2)汇编语言汇编语言(Assembly Language)-面向具体机器(面向具体机器(CPU)语言)语言,最接近于机器最接近于机器语言的低级语言。借助于助记符编程,地址数据可符号化(可读性提高),编写、修语言的低级语言。借助于助记符编程,地址数据可符号化(可读性提高),编写、修改较方便。完整的语法,不易出错。例:改较方便。完整的语法,不易出错。例:ADD AX,1
3、00 (05 64 00)JMP 1000:2000 (EA 00 20 00 10)特点:特点:汇编语言程序汇编语言程序-机器代码一一对应,程序流可控,速度快,用于编制系统程序、机器代码一一对应,程序流可控,速度快,用于编制系统程序、实时通信实时通信/控制控制/处理。处理。-面向具体机器(面向具体机器(CPU)语言,移植性差,不通用。)语言,移植性差,不通用。汇编(汇编(Assemble)源程序代码源程序代码机器语言代码(目标程序)的过程。机器语言代码(目标程序)的过程。功能:功能:语法检查、翻译。汇编程序语法检查、翻译。汇编程序Assembler机器汇编(机器汇编(人工汇编)。交叉汇编人工
4、汇编)。交叉汇编借助其它机器(如借助其它机器(如PC)汇编。汇编。反汇编(反汇编(Dis-Assemble)机器语言代码机器语言代码指令指令代码(源程序代码(源程序),逆向工程逆向工程Reverse Engineering)机器语言机器语言 二进制表示的指令和数据序列目标代码二进制表示的指令和数据序列目标代码3第3页,共32页,编辑于2022年,星期六汇编程序获取汇编程序获取(1)机器码机器码Disassemble Sourcer /debuger (2)C ASM CL /Fa开关开关;TCC-B ;(3)ASM 编程编程 (高级语言嵌入小汇编程序模块高级语言嵌入小汇编程序模块)MASM T
5、ASM ASM;汇编程序(汇编程序(MS-MASM 4.0/5.0 6.11/6.14/6.15)ASM86(小,无宏小,无宏MICRO支持支持)TASM5.0)汇编程序用途汇编程序用途 程序设计语言与汇编语言程序设计语言与汇编语言(3)4第4页,共32页,编辑于2022年,星期六 DATA SEGMENT ;定义数据段定义数据段 DATA1 DB 0F8H,60H,0ACH,74H,3BH;被加数被加数 DATA2 DB 0C1H,36H,9EH,0D5H,20H;加数加数 DATA ENDS;数据段结束数据段结束 CODE SEGMENT;定义代码段定义代码段 ASSUME CS:CODE
6、,DS:DATA;告诉汇编程序段范围告诉汇编程序段范围 START:MOV AX,DATA MOV DS,AX ;初始化初始化DS MOV CX,5 ;循环次数送循环次数送CX MOV SI,0 ;置置SI初值为零初值为零 3.2 汇编语言源程序格式汇编语言源程序格式段名段名段说明保留字段说明保留字标号标号5第5页,共32页,编辑于2022年,星期六 汇编语言源程序格式(例汇编语言源程序格式(例1续)续)CLC ;清清CF标志标志LOOPER:MOV AL,DATA2SI;取一个字节加数取一个字节加数 ADC DATA1SI,AL;与被加数相加与被加数相加 INC SI ;SI加加1指向下一字
7、节指向下一字节 DEC CX;计数器计数器CX减减1 JNZ LOOPER;不等于零,转不等于零,转LOOPER (HLT);停止停止-实际?实际?(INT21H)CODE ENDS ;代码段结束代码段结束 END START;源程序结束,指定起始地址标号源程序结束,指定起始地址标号6第6页,共32页,编辑于2022年,星期六 汇编语言源程序格式(例汇编语言源程序格式(例2)(PC台式计算机在台式计算机在MS-DOS环境下的标准程序格式)环境下的标准程序格式)MAIN PROC FAR ;MS-DOS 模板语句模板语句PUSH DS XOR AX,AX ;=MOV AX,0 PUSH AX ;
8、保存返回指针保存返回指针START:MOV AX,DATA MOV DS,AX :RET ;返回原返回原DS:0000HMS-DOSMAIN ENDP7第7页,共32页,编辑于2022年,星期六 汇编语言源程序格式(详解汇编语言源程序格式(详解1)分段结构分段结构 指定堆栈、数据、代码段指定堆栈、数据、代码段-SEGMENT-ENDS-(END结束?)结束?)?当前物理段(?当前物理段(SS/CS/DS/ES)-运行运行/逻辑段逻辑段编程编程 程序语句的类型和组成程序语句的类型和组成基本单元:语句基本单元:语句指令性语句指令性语句-CPU指令指令 指示性语句指示性语句-伪操作(汇编辅助信息)伪
9、操作(汇编辅助信息)语句构成:语句构成:name Opcode/伪操作伪操作 操作数操作数 ;注释;注释 label:mnemonic operand ,operand ;commentLOOP1:mov al,DATA2SI (指令)(指令)DATA1DB 0ffh,80h,12h (伪操作伪操作)8第8页,共32页,编辑于2022年,星期六 汇编语言源程序格式(汇编语言源程序格式(2)程序语句程序语句表面上组成:表面上组成:(专业说法专业说法)保留字(保留字(Reserved Words)SEGMENT ENDS OFFSET SIZE DB DW DD MOV PUSH ADD SUB
10、MUL DIV INC DEC LOOP PROC ENDP CALL RET END标识符(标识符(Identifiers字母字母+字母字母/数字数字/_,32个)个)界符(界符(Delimiters分隔两部分)分隔两部分)空格空格:,:,常数(常数(Const.s)1000H 11101000B 0ABCDH注释(注释(Comments);分号后分号后 大段语句大段语句:.Comment /9第9页,共32页,编辑于2022年,星期六 汇编语言源程序格式(汇编语言源程序格式(3)-名字(名字(name)标号(标号(Label)xxxx:指令的符号地址(可浮动)指令的符号地址(可浮动)段、偏
11、移量、类型段、偏移量、类型(NEAR)/FAR)变量名变量名/段名段名/过程名过程名-指示性语句(可浮动)指示性语句(可浮动)-无冒号无冒号;-有规定有规定-段、偏移量、类型段、偏移量、类型(操作数操作数)(BYTE/WORD/DWORD/QWORD/TBYTE(10))字节字节 字字 双字双字 四字四字 十字节十字节段段过程过程变量变量标记名标记名称称10第10页,共32页,编辑于2022年,星期六 汇编语言源程序格式(汇编语言源程序格式(4)助记符和伪操作助记符和伪操作(Mnemonic&Pseudo Operation)指令助记符指令助记符 MOV,ADD,.指指示示性性操操作作 DB,
12、DW,SEGMENT,ENDS,ASSUME,END 操作数操作数(Operand)单)单/双双/无,逗号隔开无,逗号隔开 -常数常数/寄存器寄存器/标号标号/变量变量/表达式表达式 (1)常数:常数:xxxxD/B/H/O(Q),),ASCII(A01)11第11页,共32页,编辑于2022年,星期六 源程序格式源程序格式 操作数(操作数(1)(2)寄存器寄存器 8位位:AL/AH,BH/BL,CH,CL,DH,DL 16位位:AX/BX/CX/DX,SI/DI/BP/SP/D/ES/CS(3)标号标号 (少用绝对地址,多用标号(少用绝对地址,多用标号-维护,移植维护,移植)(4)变量变量
13、内存数据区名内存数据区名,类型类型 B/W/DW/QW/TB(5)表达式表达式 (预编译(预编译/汇编处理)汇编处理)算术运算符算术运算符 +-*/MOD (变量地址(变量地址+/-)逻辑运算符逻辑运算符 (位)(位)AND/OR/XOR/NOT AND AL,100001B AND AL,100001B AND 1111101B12第12页,共32页,编辑于2022年,星期六 源程序格式源程序格式 操作数(操作数(2)(5)表达式(续)表达式(续)(预编译(预编译/汇编处理)汇编处理)关系运算符关系运算符 关关系系运运算算符符有有:EQ(等等于于),NE(不不等等),LT(小小于于),GT(
14、大于),(大于),LE(小于或等于),(小于或等于),GE(大于或等于)等。(大于或等于)等。参参与与关关系系运运算算的的必必须须是是两两个个数数值值,或或同同一一段段中中的的两两个个存存储储单单元元地地址址,但但运运算算结结果果只只可可能能是是两两个个特特定定的的数数值值之之一一:当当关关系系不不成成立立(假假)时时,结结果果为为0;当当关关系系成成立立(真真)时时,结结果果为为0FFFFH。例例如如,MOV AX,4 EQ 3;关关系系不不成成立立,故故(AX)0 MOV AX,4 NE 3;关关系成立,故(系成立,故(AX)0FFFFH13第13页,共32页,编辑于2022年,星期六 源
15、程序格式源程序格式 操作数(操作数(3)(5)表达式(续)表达式(续)(预编译(预编译/汇编处理)汇编处理)分析运算符和合成运算符分析运算符和合成运算符 分分析析运运算算符符 用用以以分分析析提提取取一一个个存存储储器器操操作作数数的的属属性性,如如段段、偏偏移移量量或或类类型型等等。OFFSET、SEG、TYPE、SIZE、LENGTH;合成运算符合成运算符 可规定存储器操作数的某个属性,例如类型。可规定存储器操作数的某个属性,例如类型。PTR、THIS、SHORT (类似类型强制转换)(类似类型强制转换)INC WORD PTR BX ADD BYTE PTR 1000H,38H14第14
16、页,共32页,编辑于2022年,星期六 源程序格式源程序格式 操作数(操作数(4)(5)表达式(续)表达式(续)分析运算符分析运算符OFFSET 可以得到一个标号或变量的偏移地址可以得到一个标号或变量的偏移地址(定位后已知定位后已知)MOV SI,OFFSET DATA1 LEA SI,DATAl LEA SI,DATA1BX+100 SEG 可以得到一个标号或变量的段值可以得到一个标号或变量的段值 MOV AX,SEG ARRAY MOV DS,AXTYPE 结果结果=类型数值(与存储器操作数类型属性的对应)类型数值(与存储器操作数类型属性的对应)B-1 W-2 DW-4 NEAR-(-1)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 接口 幻灯片
限制150内