汇编语句格式

  • 硬指令——CPU执行,对应机器指令;构成执行性语句
  • 伪指令——CPU不执行,指示汇编程序如何进行汇编;构成说明性语句
伪指令 功能
变量名 伪指令助记符 初值表 BUFFER DB 1,2,3,4,5,6,7,8
定义字节单元伪指令DB 分配一个/多个字节单元,并将其初始化为指定值
定义字单元伪指令DW 分配一个/多个字单元,并将其初始化为指定值
定义双字单元伪指令DD 分配一个/多个双字单元

基本汇编程序设计

顺序程序设计

  1. 求两数之和
  2. 数据循环左移
  3. 代码转换

分支程序设计

  1. 二分支程序设计,条件成立则跳转
  2. 三分支程序设计,两个跳转分支
  3. 多分支程序设计,可采用跳跃表法使程序根据不同条件转移到多个分支

循环程序设计

  1. 单重循环
  2. 多重循环
//多重循环的冒泡排序
	mov cx,count//元素个数
	dec cx//元素个数减1为循环次数
outlp:mov dx,cx//内循环
	mov bx,offset array
inlp:mov al,[bx]//前一个元素
	cmp al,[bx+1]//后一个元素比较
	jna next//不大于则跳转到next
	xchg al,[bx+1]//大于则前后元素交换
	mov [bx],al
next:inc bx//继续向后比较
	dec dx
	jnz inlp//内循环结束
	loop outlp//外循环结束

子程序设计

子程序格式:
subname proc

ret
subname endp

参数传递

  • 入口参数:主程序传递给子程序
  • 出口参数:子程序返回给主程序

参数传递方式有以下几种

  • 寄存器传递:对有出口参数的寄存器不能保护和恢复
  • 变量传递:主程序与子程序公用变量
  • 堆栈传递:主程序将入口参数压入堆栈,子程序从堆栈中取出参数;出口参数相反