北理工微机原理第七章课件

北理工微机原理第七章课件

ID:25210958

大小:753.00 KB

页数:65页

时间:2018-11-18

北理工微机原理第七章课件_第1页
北理工微机原理第七章课件_第2页
北理工微机原理第七章课件_第3页
北理工微机原理第七章课件_第4页
北理工微机原理第七章课件_第5页
资源描述:

《北理工微机原理第七章课件》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、第七章汇编语言及汇编程序7.1宏汇编语言的基本语法7.2伪指令7.3宏指令7.4系统功能调用7.5汇编程序的功能及汇编过程7.6汇编语言程序设计7.1概述汇编语言程序的上机处理过程主要的汇编程序:MASM、TASM1、常量二进制xxxxxxxxB01000101B八进制xxxO或xxxQ721O或721Q十进制xxxx或xxxxD1991或1991D十六进制xxxxH0F1D4H字符串‘xxx’或“xxx”‘AB’常出现在指令和伪指令中7.1.2常量、变量和标号7.1宏汇编语言的基本语法2、变量

2、变量代表存储单元的数据,以变量名的形式出现在程序中,可认为是存储单元的符号地址.VAR_DATASEGMENTDATA1DB12HDATA2DB34H(BYTE属性)DATA3DW5678H(WORD属性)VAR_DATAENDS变量代表的数据在程序运行过程中可随时修改。用DB、DW、…伪指令定义后,变量具有的三种属性:段值SEG偏移量OFFSET类型BYTE/WORD3、标号(作为操作数的标号)指令存放单元的符号地址,是转移/调用/循环指令的操作数标号的三种属性:段SEG偏移量OFFSET距离

3、NEAR/FAR7.1.3表达式与运算符表达式由操作数和运算符组成,在汇编的时,一个表达式得到一个值操作数可以是寄存器、常量(数值常量、符号常量)、存储器操作数(标号、变量)运算符包括:算术运算符、逻辑运算符、关系运算符、数值返回运算符和属性运算符注:表达式中的运算符是一种伪操作,也是由汇编程序来完成的,不要将它与指令混淆了数值返回运算符(分析运算符)SEG变量/标号(求段基址)OFFSET变量/标号(求偏移地址)MOVSI,OFFSETS1(LEASI,S1)MOVDI,OFFSETS2(LE

4、ADI,S2)TYPE变量/标号(P159表7-1)变量返回类型:1:字节、2:字、4:双字标号返回类型:-1:NEAR、-2:FARSIZE〈符号名〉(求为符号名分配的字节数,由DUP()定义的)组合运算符(改变、建立符号名的新类型)(1)定义符号为新类型格式:〈类型〉PTR〈符号名〉MOVAX,WORDPTRD1(2)指定新类型格式:THIS类型LABCEQU(符号位)THISBYTE(新类型)LABDDW4321H,2255HMOVAL,LABC;AL=21HMOVAX,LABD;AX=4

5、321H分离运算符(1)LOW取低字节格式:LOW〈表达式〉(2)HIGH取高字节格式:HIGH〈表达式〉P160例:设SSY=2050HMOVAL,LOW3080H;AL=80HMOVAH,HIGHSSY;AH=20HMOVCL,LOW3A4BH;CL=4BH7.1.1伪指令语句格式标号名(IDENTIFIERS)任选、不能有冒号,可以是常量名、变量名、过程名、结构名、记录名,它们作为指令、伪指令的操作数时表示一个常量或存储器地址伪指令(DIRECTIVES):要求汇编程序完成的操作命令,例如

6、,DB、DW、SEGMEMT、PROC等操作数(OPERANDS)常数、字符串、常数名、变量名、标号、一些专用符号。[标号名]伪指令操作数[;注释]7.2伪指令(Directive)不由CPU来执行而由汇编(MASM)来识别的指令称为伪指令,伪指令没有对应的机器指令,其格式为[标号]伪指令操作数[;注释]1、符号定义伪指令EQU、=表达式的值赋给符号名2、内存数据定义伪指令:DB、DW、DD、DQ定义重复数据操作符DUP必须与DB、DW、DD、DQ配合使用。例,B1DB20HDUP(?)B2DB

7、2DUP(3DUP(’ABC’)),括号内是重复的内容3、段定义伪指令(p161)段名SEGMENT[定位方式][连接方式][‘类别名’]…段名ENDS4、段寄存器说明伪指令ASSUME段寄存器:段定义名1…5、过程(子程序)定义伪指令格式:〈过程名〉PROC[NEAR]([FAR])..〈过程名〉ENDP8定位伪指令ORG12、记录伪指令:(1)记录定义伪指令:RECORD(2)记录存储单元分配及赋值13、结构伪指令STRUC……ENDSDS:0000-DS:000AHDATSEGMENTAR

8、RAY1EQU100AHARRAY2DB12H,34HTABLE1DW?TABLE2DB2DUP(‘DEF’)B1=$-TABLE1DATENDS……MOVAX,ARRAY1LEASI,TABLE2MOV[SI],AX填写DS:0000-DS:000AH内存,并求B1的值。7.3宏指令1、为了简化汇编语言源程序的书写,将一些频繁出现的程序段定义为“宏指令”,当遇到这个程序段时,只需用一条宏调用语句代替。2、汇编过程中要将宏指令所代替的程序段汇编成相应的机器代码并插入到源程序的目标代码中。例如,(

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

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

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