[理学]微原-第4章1.pptVIP

  • 1
  • 0
  • 约5.45千字
  • 约 44页
  • 2018-03-02 发布于浙江
  • 举报
[理学]微原-第4章1

LABEL伪指令的功能是定义某变量名或标号的类型的。它虽具有段地址与偏移地址的属性,但它不占内存单元。 例如: BARRAY LABEL BYTE AARRAY DW 100 DUP(?) 汇编语言程序设计基础 上面定义了两种类型的变量,BARRAY为字节类型,AARRAY为字类型,它们的段和偏移地址属性完全相同,都是下面保留的100个字空间的首地址,其目的是为了程序中可以对这100个字空间作两种不同类型的操作。这一点上,LABEL的作用与前面介绍的PTR操作符的作用相类似。 汇编语言程序设计基础 BARRAY 100个字空间 AARRAY …… 汇编语言程序设计基础 当需要对该100个字空间进行字操作时,可利用AARRAY字变量。如下面指令格式是正确的。 MOV AX,ARRAY 汇编语言程序设计基础 当需要对该100个字空间进行字节操作时,可利用BRRAY字节变量。如下面指令格式是正确的。 MOV AL,BRRAY MOV AL ,BYTE PTR ARRAY 等效于 汇编语言程序设计基础 4.ASSUME伪指令 ASSUME伪指令告诉汇编程序(MASM.EXE)在对源程序汇编时,源程序中的段名与哪个段寄存器建立关系。这种关系只是一种承诺关系,汇编程序对源程序汇编时,承认这种关系,但段寄存器的值并未确定,用户必须在代码段一开始用MOV指令对DS、ES、SS初始化。 汇编语言程序设计基础 START:MOV AX,DATA1 MOV DS,AX ;对DS初始化 MOV AX,DATA2 MOV ES,AX ;对ES初始化 MOV AX,STACK MOV SS,AX ;对SS初始化 如前面完整结构程序中的下段程序: 汇编语言程序设计基础 因为CS不能做DST,所以用户不能对CS初始化,CS和IP的初始化是系统赋给的,其方法见下面的END伪指令介绍。 汇编语言程序设计基础 5.END伪指令 格式: END 表达式 该伪指令标志整个源程序的结束。它告诉汇编程序汇编到此结束。所以,每个单独汇编的源程序的结尾必须有END伪指令。格式中的表达式是该程序运行时的启动地址,它通常是可执行语句的标号。 汇编语言程序设计基础 如前面完整结构程序中的最后有: MOV AH,4CH INT 21H CODE ENDS END START …… 总汇编结束 起始地址表达式 汇编语言程序设计基础 6.=伪指令和EQU伪指令 格式: 名称 = 表达式 名称 EQU 表达式 功能:将表达式的值赋给左边的名 称,但表达式的值不能超过 65535。 汇编语言程序设计基础 EQU伪指令定义的名称在程序中只能定义一次,而用 = 伪指令定义的名称可以重新定义。 COUNT EQU 5*8 BPT = BYTE PTR MOV CX ,COUNT ;等效于 MOV CX,5*8 MOV BPT[BX] ,0 ;等效于 MOV BYTE PTR [BX],0 …… …… 汇编语言程序设计基础 7.ORG伪指令 格式: ORG 表达式 格式中的表达式的值是一个2字节的无符号数。ORG伪指令的功能是指明该语句下面的指令或者变量在段内的偏移地址。 汇编语言程序设计基础 例如: ORG 0100H 该伪指令指出,下面指令或变量的偏移地址为0100H。 ORG伪指令一般常用于数据段中来确定某变量的偏移地址。 汇编语言程序设计基础 本教案内容 第4章? 汇编语言程序设计 汇编语言程序设计基础 源程序的汇编、连接与调试 分支程序设计技术 循环程序设计技术 子程序设计技术 综合程序设计示例 汇编语言程序设计 算法 所谓算法,简单地说就是计算机能够实现的有限的解题步骤。我们知道,计算机只能进行最基本的算术运算和逻辑运算,要完成较为复杂的运算和控制操作,必须选择合适的算法,这是正确编程的基础。 若题目涉及到某种运算,则必须写出适合程序设计的正确算法,若题目要完成的功能未涉及到运算,也要写出编程思想。 汇编语言程序设计 设计流程 将提出的算法或编程思想用流程图的方式画出来。图4.1

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档