微机原理与接口技术第4章8086汇编语言程序设计.pptVIP

  • 9
  • 0
  • 约6.93千字
  • 约 77页
  • 2017-10-02 发布于广东
  • 举报

微机原理与接口技术第4章8086汇编语言程序设计.ppt

微机原理与接口技术第4章8086汇编语言程序设计

第四章 8086汇编语言程序设计 汇编语言概述和程序格式 伪指令语句 常用系统功能调用 三种基本程序设计方法 模块化程序设计 汇编语言源程序 汇编语言的上机调试 1.分段结构 每个段以SEGMENT语句开始,以ENDS语句结束。 整个源程序的结尾是END语句。 2.汇编语言语句的类型和格式 (1) 指令语句:它是能产生目标代码,CPU 可以执行的能完成特定功能的语句。 (2) 伪指令语句:它是一种不产生目标代码的语句,它仅仅在汇编过程中告诉汇编程序应如何汇编。 4.2 伪 指 令 语 句 指令是给CPU的命令,在运行时由CPU执行,每条指令对应CPU的一种特定的操作。 伪指令是给汇编程序的命令,在汇编过程中由汇编程序进行处理,例如定义、分配存储区、定义段以及定义过程等。 伪指令则不产生与之相应的目标代码。 4.2.1 数据定义伪指令 例 两个16位无符号数相乘 P 199-10 编写两个通用过程,完成十六进制数转换成ASCII码,并将ASCII码字符显示。 以上介绍了表达式中使用的各种运算符,如果一个表达式同时具有多个运算符,则按以下规则运算: ① 优先级高的先运算,优先级低的后运算。 ② 优先级相同时按表达式中从左到右的顺序运算。 ③ 括号可以提高运算的优先级,括号内的运算总是在相邻的运算之前进行。 运算符的优先级 (4) 注释 汇编语言语句的最后一个组成部分是注释。对于一个汇编语言语句来说,注释部分并不是必要的,但是加上适当的注释以后,可以增加源程序的可读性。一个较长的实用程序,如果从头到尾没有任何注释,可能很难读懂。因此,最好在重要的程序段前面以及关键处加上简明扼要的注释。 注释前面要求加上分号(;)。如果注释的内容较多,超过一行,则换行以后前面还要加上分号。注释也可以从一行的最前面开始,以表示对一个程序段的说明。 汇编程序对于注释不予理会,即注释对汇编后产生的目标程序没有任何影响。 例4.19 例4.20 ‘O’=4FH ‘K’=4BH 例4.21 例4.22 例4.23 1.下列变量各占多少字节? A1 DW 23H, 5876H A2 DB 3 DUP(?), 0AH, 0DH, ‘$’ A3 DD 5 DUP(1234H, 567890H) A4 DB 4 DUP(3 DUP(1, 2, ‘ABC’)) 4.2.2 赋值语句 3.有符号定义语句如下: BUF DB 3, 4, 5, ‘123’ ABUF DB 0 L EQU ABUF-BUF 求L的值为多少? 4.2.3 段定义语句 DATA SEGMENT D1 DW 1234H D2 DW 5678H P1 DW ? P2 DW ? DATA ENDS STACK SEGMENT STACK ‘STACK’ STT DB 100 DUP(?) TOP EQU LENGTH STT STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START: CODE ENDS END START 程序主要部分 MOV AX, STACK MOV SS, AX MOV SP, TOP MOV AX, DATA MOV DS, AX L1: MOV AX, D1 MUL D2 MOV BX, OFFSET P1 MOV [BX], AX MOV [BX+2], DX MOV AH, 4CH INT 21H 例 用过程调用的方法,将内存中N个十六进制数相加。 DATA SEGMENT ONE DB 22H,33H,44H,55H TWO DB 55H,66H,77H,88H SUM DB 20 DUP(?) DATA ENDS STACK SEGMENT STACK ‘STACK’ STT DB 100 DUP(?) TOP EQU LENGTH STT STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START: CODE ENDS END START 程序主要部分 MOV AX, STACK MOV SS, AX MOV SP, TOP MOV AX, DATA MOV DS, AX MOV SI, OFFSET O

文档评论(0)

1亿VIP精品文档

相关文档