微机原理与接口技术第3章(汇编部分).ppt
《微机原理与接口技术第3章(汇编部分).ppt》由会员分享,可在线阅读,更多相关《微机原理与接口技术第3章(汇编部分).ppt(52页珍藏版)》请在三一办公上搜索。
1、主要内容:,汇编语言源程序的结构汇编语言语句格式伪指令功能调用,3.4 汇编语言的编程格式,一 汇编语言的基本概念,汇编语言和机器语言属于低级语言是面向微处理器的语言,一般不具有通用性和可移植性,二 汇编语言程序结构,1汇编语言源程序的结构,CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV AL,X ADD AL,Y MOV Z,AL MOV AH,4CH INT 21H CODE ENDS END START,DATA SEGMENT X DB 30H Y DB 40H Z DB?DATA ENDS,数据段
2、,代码段,计算 Z=XY,数据段,附加段,程序段,堆栈段,要点总结:,汇编语言源程序由段结构组成。,一个段由“SEGMENT”(段定义开始)和“ENDS”(段定义结束)语句来定义。,每个段都有唯一的段名,前后一致。,段名不能相同。,数据段、堆栈段和代码段的作用各不相同。,各个段都由一系列语句组成。,语句包括指令语句和伪指令语句。,二 汇编语言程序结构,2汇编语言的语句格式,指令语句的标号后有冒号“:”,而伪指令语句的名字后则没有冒号。,指令格式 START:MOV AL,DATA;注释 标号 助记符 操作数,TABLE DB 11H,22H,33H,44H 名字 伪指令 操作数表;注释,伪指令
3、格式,二 汇编语言程序结构,3.操作数,(1)常数:二进制、八进制、十进制、十六进制或ASCII码字符串(例:A,ABCD),(2)寄存器名,二 汇编语言程序结构,(3)存储器操作数:用、变量、标号表示,变量的属性:段 值:DS 偏移量:与DS的位移量。类 型:BYTE(字节)WORD(字)DWORD(双字),01H02H03H,DATA,04H00H05H00H,变量:内存数据区的符号地址,DS:0000H,START:MOV AL,DATA;标号 变量,标号的属性:段 值:CS 偏移量:与CS的位移量。类 型:NEAR近属性)FAR(远属性),START:MOV AL,DATA;标号,标号
4、:内存程序区的指令地址,START,指令,CS:0000H,4、运算符和表达式,算术运算:+,-,*,/,MOD逻辑运算:AND,OR,NOT,XOR关系运算:EQ、NE、LT、GT、LE、GE,仅对两个数值而言关系不成立,结果为0;关系成立,结果为FFFFH。,*取值运算和属性运算,二 汇编语言程序结构,取值运算符,OFFSET 取偏移地址SEG 取段地址 MOV BX,OFFSET TABLE,TYPE 取变量的类型LENGTH 取存储区的长度SIZE 取总字节数,BUFFER DW 10 DUP(0)DATA1 DB 5TYPE BUFFER=2LENGTH BUFFER=10SIZE
5、BUFFER=20,SIZE=LENGTH*TYPE,BX,二 汇编语言程序结构,属性运算符 PTR,指定存储器操作数的临时属性例:MOV BYTE PTRBX,01H,BX,01H,MOV WORD PTRBX8,2,二 汇编语言程序结构,语句分类:,指令性语句指示性语句(伪指令),用于数据定义、符号定义、段定义、过程定义、分配内存、汇编结束等,三 伪指令,名字-变量名(符号地址)、段名、过程名、符号名,名字后面没有冒号,例 TABLE DB 11H,22H,33H,44H 名字 伪指令 操作数表;注释,三 伪指令,DATA SEGMENT段名 M1 DB 1,2 M2 DW 3 DUP(5
6、)M3 DB ABCDDATA ENDS,DATA:0000H,0002H,1、数据定义 定义变量类型及数据区,DB(字节)DW(2字节)DD(4字节)DQ(8字节)DT(10字节),三 伪指令,2、符号定义1、符号名 EQU 表达式2、符号名=表达式,EQU语句不能给符号名重新赋值不占用内存,例:DATA SEGMENT M1 DB 1,2 DAT EQU 100 M2 DW 3 DUP(5)DATA ENDS,01H02H,M1,05H00H05H00H05H00H,M2,三 伪指令,例:STACK DB 1,2,3,4,3 TOP EQU$-STACK,3、段定义,段名 SEGMENT
7、定位类型 组合类型 类别段名 ENDS,程序间连接时,段名:该段的起始地址 定位:段的起始点,分为PARA节(缺省16字节)BYTE、WORD、PAGE页(256个字节)组合类型:不同模块中同名段的组合连接方式 分类名:类别相同的段组成一个段组,三 伪指令,BYTEXXXX XXXX XXXX XXXX XXXX B WORDXXXX XXXX XXXX XXXX XXX 0 B PARAXXXX XXXX XXXX XXXX 0 0 0 0 B PAGEXXXX XXXX XXXX 0 0 0 0 0 0 0 0 B X表示可取0或1,定位类型 段 的 起 始 地 址,ASSUME CS:段
8、名,DS:段名,,用于告知汇编程序,CS、DS、ES和SS对应的段,ASSUME必须位于代码段开始,除CS外,其余段基址的初值要用指令装入,4、设定段寄存器伪指令,例:CODE SEGMENT ASSUME CS:CODE,DS:DATA MOV AX,DATA MOV DS,AX CODE ENDS,三 伪指令,5、过程定义,过程名 PROC NEAR/FAR RET n 过程名 ENDP,过程名子程序入口的符号地址,三 伪指令,1、ORG 指定起始偏移地址 ORG 表达式,6、其它伪指令,DATA SEGMENT M1 DB 1,2 ORG 1000H M2 DB 3,4 DATA END
9、S,2、END 标号名;汇编结束 标号名为程序的启动地址,01H02H,M1,03H04H,M2,三 伪指令,DOS系统内的各子功能,4-3,汇编语言中如何从键盘输入数据?用INT 21H指令,调用DOS系统功能,功能号置入AH寄存器中,四 DOS系统功能调用,使用DOS系统功能调用的一般过程:,(1)显示单个字符(2号调用),格式:MOV AH,2 MOV DL,字符ASCII码 INT 21H,功能:将DL中的字符送显示器显示。,(2)键盘输入(1号调用),格式:MOV AH,1 INT 21H,功能:等待从键盘输入一个字符并将输入字符的ASCII码送入寄存器AL中,同时在显示器上显示该字
10、符。,四 DOS系统功能调用,(3)显示字符串(9号调用),格式:MOV AX,DATA MOV DS,AX LEA DX,字符串首偏移地址 MOV AH,9 INT 21H,功能:将当前数据区中以$结尾的字符串送显示器显示。,STR DB PRESS ANY KEY,0DH,0AH,$,四 DOS系统功能调用,(4)键盘输入字符串(10号调用),格式:MOV AX,DATA MOV DS,AX LEA DX,缓冲区首偏移地址 MOV AH,10 INT 21H,功能:从键盘上往指定缓冲区中输入字符串并送显示器显示。,如:BUF DB 81;定义缓冲区的大小 DB?;实际输入的字符个数 DB
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 接口 技术 汇编 部分

链接地址:https://www.31ppt.com/p-6572784.html