前言
以下内容源自微型计算机原理(第四版)王忠民主编
仅供学习交流使用
第五章 汇编语言程序设计
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