《ibmpc80x86汇编语言程序设计》ppt电子课件教案第四章汇编语言程序结构

《ibmpc80x86汇编语言程序设计》ppt电子课件教案第四章汇编语言程序结构

ID:34217345

大小:158.00 KB

页数:58页

时间:2019-03-04

《ibmpc80x86汇编语言程序设计》ppt电子课件教案第四章汇编语言程序结构_第1页
《ibmpc80x86汇编语言程序设计》ppt电子课件教案第四章汇编语言程序结构_第2页
《ibmpc80x86汇编语言程序设计》ppt电子课件教案第四章汇编语言程序结构_第3页
《ibmpc80x86汇编语言程序设计》ppt电子课件教案第四章汇编语言程序结构_第4页
《ibmpc80x86汇编语言程序设计》ppt电子课件教案第四章汇编语言程序结构_第5页
资源描述:

《《ibmpc80x86汇编语言程序设计》ppt电子课件教案第四章汇编语言程序结构》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第四章汇编语言程序结构4.1汇编语言语句格式4.2伪指令4.3汇编语言源程序结构4.4汇编语言的上机过程4.1汇编语言的语句格式一、语句种类汇编语言程序由有序的汇编语言语句组成。汇编语句指令语句伪指令语句指令语句:完成一定操作功能,能够翻译成机器代码的语句,即指令语句与机器指令有对应关系。伪指令语句(指示性语句):为汇编程序在翻译汇编语言源程序提供有关信息,如分配存储单元,给符号赋值、段的定义等,它不翻译成机器代码。二、语句格式指令语句和伪指令语句的格式类似,格式如下:[名字]操作码[操作数/参数][;注释]其中:方

2、括号[]的项是可选项,可以省略。一般每行为一个语句,也可用&符号紧接回车之后,表示该行内容的继续。每行语句长≤128字符。1、名字名字:由用户定义的标识符,非数字开头的1~31个字符,分标号和变量两种。标号:在代码段中定义,后跟冒号:,位于指令语句左边。标号有段、偏移及类型三种属性。段属性:定义标号的段其始地址,标号的段属性总是在CS寄存器中。偏移地址:代表从代码段起始地址到标号位置之间的字节数。类型属性:分NEAR和FAR两类,NEAR表示在同一代码段内引用,FAR表示在段外引用。变量:是位于伪指令或宏指令左边的名

3、字,其后不带冒号,变量可以在任何段出现。变量也有段、偏移和类型三种属性段属性:变量所代表数据单元的段地址(DS、ES或SS)。偏移属性:变量所代表数据单元的段内偏移地址。类型属性:数据变量来说是指该变量对应的数据的字节长度。如字节、字、双字。标号是一条指令的符号地址,它代表指令目标代码的第一个字节地址。在一个程序段或子程序入口处通常设置一个标号,因此,标号可以作为转移(JMP)或调用(CALL)指令的操作数。而用于伪指令中的名字,可以是变量名、段名、过程名、宏名等,一般不作为JMP和CALL指令的操作数。同一个程序中

4、,一个标号或变量只能定义一次,不能重复定义。标号通常用作转移指令的地址,变量通常提供操作数的首地址。指令语句:例LOP:MOVAX,0000H;将AX清零标号操作码操作数注释伪指令语句:例BUF1DB34H;定义变量BUF1,初值34H。变量名伪指令符操作数注释2、操作项可以是指令、伪指令或宏指令的助记符。3、操作数项可以用常数、寄存器名、存储器操作数、标号、变量或表达式表示。常数8086/8088宏汇编中允许如下几种常数:①二、八、十、十六进制常数②十进制科学表示法表示的实数,如:12.35E-2③字符串常数,如‘

5、AB’值是4142H‘ABCD’→41H,42H,43H,44H存储器操作数①寻址方式表示的存储器操作数,如:[BX]、[SI+2]等。②标号,如:JMPNEXT1③变量:指存放在内存单元中的变化的数据。表达式(分为数值表达式和地址表达式两种)表达式是由常数、寄存器、标号、变量和操作符组合而成。汇编语言循序使用的操作符有:①算术操作符有+、-、*、/和MOD(取余)算术运算符可用于数值表达式和地址表达式中,在使用地址表达式时要注意地址表达式的物理意义。例如:√MOVAL,10*5+4;数值表达式√MOVSI,OFFS

6、ETBUF+12;地址表达式√MOVCX,NUM2-NUM1;两地址差送CX×MOVCX,NUM2+NUM1;无意义②逻辑操作符有AND、OR、NOT和XOR四个。只用于数值表达式中。例如:ANDAL,78HAND0FH等价于:ANDAL,08HORAL,3AND47H等价于:ORAL,3③关系运算符有EQ(相等),GT(大于),NE(不等)NE(不等),LE(小于或等于),GE(大于或等于)注:关系操作符的两个操作数必须是数字或同一段内的地址,运算结果也为逻辑值,结果为真,用FFFFH表示,结果为假,用0000表示

7、。如:MOVBX,32EQ54等价于:MOVBX,66GT44等价于:MOVBX,((valLT5)AND20)OR((valGT5)AND30)若val<5时,结果:若val>5时,结果:MOVBX,0MOVBX,FFFFHMOVBX,20MOVBX,304.2、伪指令汇编的一些伪指令用于定义符号,定义数据,分配内存单元,伪指令只向汇编语言提供有关信息,不产生机器代码。一、符号定义伪指令1、等值伪指令EQU格式:〈符号名〉EQU〈表达式〉功能:给符号名定义一个值、别的符号名、表达式或助记符。注EQU不能给一个符号重

8、复定义2、等号伪指令=与EQU类似,但在同一个程序中,=可以对一个符号重新定义。3、解除定义伪指令PURGE格式:PURGE〈符号1,符号2,……符号N〉功能:解除指定符号的定义,解除符号定义后,可用EQU重新定义。例:X1EQU8PURGEX1X1EQU48二、数据定义伪指令格式:[变量]操作符操作数[;注释]功能:给变量定义存储单元。操作符

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

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

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