微机原理第三章 8086指令系统与汇编语言程序设计-2课件.ppt
文本预览下载声明
第三章 指令系统和汇程序设计 编语言(2);*;*;*;*;自动化仪表研究所;DATA SEGMENT AT 2000H;数据段
ARRAY DB a1,a2,…a10
COUNT EQU $ - ARRAY
SUM DW ?
DATA ENDS
STACK SEGMENT PARA STACK ‘STACK’;堆栈段
STAK DB 10 DUP (?)
TOP EQU LENGTH STACK
STACK ENDS
CODE SEGMENT;代码段
ASSUME CS:CODE, DS:DATA, SS: STACK
START: MOV AX , DATA
MOV DS , AX
MOV AX ,0
MOV DI , OFFSET SUM
MOV BX , OFFSET ARRAY
MOV CX , COUNT
LOP: ADD AL , [BX]
ADC AH , 0
INC BX
LOOP LOP
MOV [DI] , AX
MOV AH , 4CH
INT 21H
CODE ENDS
END START;指示程序结束; 1、程序结构
程序由数条语句构成,每条语句占一行。
指令性语句(指令语句)
指示性语句(伪指令语句)
分段结构
程序按段编写, 与8086内存分段编址相对应。
每段由伪操作SEGMENT开始、由ENDS结束
程序最后为END结束语句,后跟一启动地址
启动地址指示程序开始执行的第一条语句。
程序中设有返回DOS的功能。
使程序执行完后返回DOS系统的命令接受状态
程序中用到内存操作数时,应按操作数的寻址方式,给相应的段寄存器赋值;自动化仪表研究所;(1). 名字项
据语句功能的不同,
名字项可用来表示段名、变量名、 标号、过程名以及常量名等。;自动化仪表研究所; (2). 助记符项
助记符可以是指令、伪操作中的助记符。;自动化仪表研究所;常量
给出具体的数据。可以是数字常量、字符常量或符号常量。
◢ ◢ 数字默认十进制,也可加D表示十进制数。如 1234D, 1234
◢ ◢ 数字后加B表示二进制数。 如 1010B
◢ ◢ 数字后加H表示十六进制数。 如 1234H
◢ ◢ 字符常量,用单引号表示。 如 ‘1234’
汇编时,用字符对应的ASCII表示。如 31H, 32H, 33H, 34H
◢ ◢ 符号常量,将标识符定义 ALL ONE,
MOV AL ,ALL ONE; A、B、C、D、E、F开头的十六进制数前面加0,
与H结尾的标识符区别。
如 寄存器名AH、BH、CH、?DH
变量名 abcdH 等
例 mov AL, 0AH
mov AL, AH
mov BX, 0abcdH;(4).注释项
由分号引出,用来说明语句或程序的功能。
汇编程序对分号后的内容不做处理。
作用: ①注释程序,增强程序可读性。
②可放在语句最前,暂时注释某语句,调试程序用。
例 、、、
; MOV AH, 2 ;显示提示信息
; MOV DL, ’A’
; INT 21H
、、、;指示性语句与指令性语句:
指令性语句是用指令系统中的指令构成的语句。
例 MOV AX, BX
指示性语句是指示汇编程序进行汇编的操作。
例 MOV AX, 4 + 8 中的+
code SEGMENT 中的SEGMENT
MOV BX, OFFSET string 中的OFFSET
;自动化仪表研究所;自动化仪表研究所;1、程序开始和程序结束伪操作
(1) . NAME
显示全部