微型计算机原理及应用 作者 张彦斌 yw_5_01.pptVIP

  • 10
  • 0
  • 约8.22千字
  • 约 34页
  • 2015-12-09 发布于广东
  • 举报

微型计算机原理及应用 作者 张彦斌 yw_5_01.ppt

第5章 汇编语言程序设计 汇编语言语句格式√ 汇编语言程序基本结构与设计方法(实模式) √ 宏汇编基本概念 BIOS中断与高级语言混合编程* 作业:(p.248) 5-3(1~6); 5-4(1~6); 5-5(1~2); 5-8; 5-9; 5-13 第5章 汇编语言程序设计 知识点及教学要求: 8086汇编语言语法规则及典型的汇编语言源程序完整格式√ 汇编语言中伪指令、操作符在源程序汇编中的作用√ 应用汇编语言进行顺序、分支和循环程序设计的方法与示例√ 汇编语言中子程序设计的基本方法与示例√ 宏汇编与宏指令的基本概念 BIOS中断与DOS系统功能调用 5.1 汇编语言语句格式 两类汇编语句 (1)指令性语句 也称可执行性语句,表示为CPU指令系统中各种用助记符形式的机器指令。这些指令在汇编过程中最终转换为目标程序的机器代码,在运行该程序时被执行。 (2)指示性语句 常称为伪指令,这些指令在汇编过程中被执行,指示相应的汇编操作,其自身并不产生任何目标代码。 四字段汇编语句格式 (1)名字——可分为变量和标号两种,具有段基址、段内偏移地址及类型等三种属性。段基址与段内偏移地址可通称为该名字所在位置的地址属性。 ※:地址计数器( $ ) ——当前地址偏移量(p.206) (p.221) DATA SEGMENT DAT1 DB 3,-5,-9,6,-100,……;预置若干数据 LENG1 EQU $-DAT1 ;LENG1=DAT1中数据的个数 ………………………… 变量的类型属性为所定义的数据类型(如,字节BYTE、字WORD、双字DWORD等)。 标号为可执行语句的符号地址,其类型属性表示可指向的距离(如,近程NEAR、远程FAR等)。 示例:完整的汇编语言源程序格式 (a) 2.伪指令 1)SEGMENT/ENDS —— 段定义 2)ASSUME —— 段寄存器说明 3)ORG —— 定义段内偏移地址 4)DB/DW/DD —— 数据定义 5)EQU、=、LABEL —— 符号定义 6)END —— 源程序结束 7)PROC/ENDP —— 过程定义 3)起始伪指令 ORG ORG 0000H A0 DW 1000H,1234H,80H,0FFH ORG 1000H A1 DB 1,2,3,0AH,-1,0DFH,9,0 例1: 定义赋初值的变量 定义字符串变量(只能用DB定义) data SEGMENT str1 DB TsingHua str2 DB INPUT: ,0dH ,0aH ,$ data ENDS p.210 图5-2 DATA_BYTE DB 10,4,10H,? DATA_WORD DW 100,100H,-5,’XY’,’Z’ …… 伪指令DW、DD用于定义地址表达式 P.210 ORG 1000H DAT1 DB 12H,34H DAT2 DW 2468H ADR1 DW DAT1 ADR2 DD DAT2 ;设当前数据段(DS)=0159H 5)符号定义 赋值伪指令 EQU 为常量、表达式、标识符等,定义一个符号名 例:CONSTANT EQU 256 ALPHA EQU 7 BETA EQU ALPHA-2 ; =5 ADDR EQU BETA*2-1; =9 BP8 EQU BP+8] COUNT EQU CX CBD EQU DAA 等号伪指令 = EMP=6 EMP=10 类型定义伪指令 LABEL 例: BYTE_ARRAY LABEL BYTE WORD_ARRAY DW 1234H 例4. 完整的汇编语言源程序格式举例 —— 显示字符串 STACK SEGMENT ;定义堆栈段 DW 256 DUP (?) TOP LABEL WORD STACK ENDS DATA SEGMENT ;定义数据段 STR DB ‘HELLO WORLD!’,0DH,0AH,’$’ DATA ENDS CODE SEGMENT ;定义代码段 ASSUME CS:CODE,DS:DATA,SS:STACK START: MOV AX,DATA ;给DS 赋值 MOV DS,AX MOV AX,STACK ;给SS 赋值 MOV SS,AX MOV SP,OFFSET TOP ;给SP 赋值 MOV DX,OFFSET STR ;显示字符串 MOV AH,9

文档评论(0)

1亿VIP精品文档

相关文档