第五章 汇编语言程序设计【微机原理】1

简介: 第五章 汇编语言程序设计【微机原理】1

前言

以下内容源自微型计算机原理(第四版)王忠民主编

仅供学习交流使用

请您阅读文章声明,默认同意该声明

第五章 汇编语言程序设计

5.1 汇编语言的基本概念

5.1.1 汇编语言源程序的格式

[名字] 助记符 [操作数] [;注释]

5.1.2 汇编语言上机过程

5.1.3 汇编语言程序和DOS操作系统的接口

1.标准方法

int20h.asm

CODE Segment
  Assume cs:CODE
start:
A PROC FAR  
  PUSH  DS
  MOV AX,0
  PUSH AX
  mov al,1
  RET
A ENDP
CODE ends
  end start 




2.非标准方法

int21h.asm

CODE Segment
  Assume cs:CODE
start:
  mov al,1
  mov ah,4cH
  int 21H
CODE ends
  end start 



5.2 伪指令语句

5.2.1 数据定义伪指令

1.DB

2.DW

3.DD

data.asm

DATA Segment
  DA DB 101,0F0H    ;存入65H,F0H
  EXPR DB 2*8+7   ;存入17H
  STR DB 'WELCOME!' ;存入8个字符的ASCII码值
  AB DB  'AB'     ;存入41H,42H
  BA DW 'AB'    ;存入42H,41H
  ABDD DD 'AB'  ;存入42H,41H,00,00
  OFFAB DW AB ;存入变量AB的偏移地址
  ADRS DW STR, STR+3,STR+5  ;存入3个偏移地址
  TOTAL DD  DA  ;先存DATA的偏移地址,再存段地址
DATA ends
CODE Segment
  Assume cs:CODE,ds:DATA
start:
  mov ax,DATA
  mov ds,ax
  MOV AH,4CH
  INT 21H
CODE ends
  end start 



5.2.2 符号定义伪指令

1.EQU

2.=(等号)

3.LABEL

5.2.3 段定义伪指令

1.SEGMENT/ENDS

2.ASSUME

3.ORG

org.asm

DATA Segment
  d1 DB "abcde"
  org 40h
  d2 DB "ABCDE"
DATA ends
CODE Segment
  Assume cs:CODE,ds:DATA
start:
  mov ax,DATA
  mov ds,ax
  MOV AH,4CH
  INT 21H
CODE ends
  end start 



5.2.4 过程定义伪指令

过程名 PROC [NEAR/FAR]
  .
  .
  .
  RET
  .
  .
  .
过程名 ENDP  

5.2.5 模块定义与连接伪指令

1.NAME

2.END

3.PUBLIC

4.EXTRN

相关文章
|
6月前
|
数据处理
MCS-51单片机汇编语言程序设计
MCS-51单片机汇编语言程序设计
167 0
第五章 汇编语言程序设计【微机原理】2
第五章 汇编语言程序设计【微机原理】2
254 0
第五章 汇编语言程序设计【微机原理】2
|
机器学习/深度学习 算法 数据格式
【微机原理笔记】第 4 章 - 8086 汇编语言程序设计
【微机原理笔记】第 4 章 - 8086 汇编语言程序设计
452 0
汇编语言与微机原理实验一、实验二、实验三:分支程序设计/循环程序设计/子程序设计
汇编语言与微机原理实验一、实验二、实验三:分支程序设计/循环程序设计/子程序设计
184 0
|
存储
微机原理之指令系统和汇编程序设计
### **8086 CPU的七种寻址方式** 8086 CPU寻址方式 •8086中,CS、DS、ES和SS段寄存器在程序运行过程中分别指向当前的代码段、数据段、附加段和堆栈段。而操作数可能存放在代码段中,也可能存放在数据段、附加段、堆栈段中,还可能存放在8086CPU内部的寄存器中。**存放操作数的内存单元相对于其所在段的段起始地址偏移量称为偏移地址或有效地址EA(Effective Address)。获得操作数所在地址的方法称为寻址方式。**在8086系统中,一般将寻址方式分为两类:一类是寻找操作数的地址;另一类是寻找要执行的下一条指令的地址,即程序寻址。 •MOV DST, SRC
281 0
微机原理之指令系统和汇编程序设计
|
存储
汇编语言的模块化程序设计(1004)
本文为《汇编语言程序设计》1004小节例程。点击链接…进课程主页。 模块化程序结构 assume cs:code code segment main: ... call sub1 ;调用子程序sub1 ... mov ax, 4c00h int 21h sub1: ... ;子程序sub1开始
1240 0
|
6月前
|
存储 Unix 编译器
汇编语言----X86汇编指令
汇编语言----X86汇编指令
222 2
|
1月前
|
存储 移动开发 C语言
【ARM汇编速成】零基础入门汇编语言之指令集(三)
【ARM汇编速成】零基础入门汇编语言之指令集(三)
|
1月前
|
编译器 C语言 计算机视觉
【ARM汇编速成】零基础入门汇编语言之指令集(二)
【ARM汇编速成】零基础入门汇编语言之指令集(二)
138 0