微机原理与接口技术实用教程 汇编语言程序设计
- 格式:ppt
- 大小:2.90 MB
- 文档页数:57
微机原理与接口技术汇编语言程序教案第一章:汇编语言概述1.1 汇编语言的概念让学生了解汇编语言的定义、特点和作用。
让学生掌握汇编语言的基本组成元素,如指令、寄存器、操作数等。
1.2 汇编语言的表示方法让学生了解汇编语言的指令格式和操作数表示方法。
让学生掌握汇编语言的助记符及其含义。
1.3 汇编语言与机器代码的关系让学生了解汇编语言与机器代码的转换过程。
让学生掌握汇编语言指令与机器代码之间的对应关系。
第二章:汇编语言的语法规则2.1 指令语句的语法结构让学生了解指令语句的构成,包括操作码、寄存器、操作数等。
让学生掌握不同类型指令的语法规则,如数据传输指令、算术运算指令等。
2.2 伪指令和宏指令让学生了解伪指令和宏指令的概念及其作用。
让学生掌握伪指令和宏指令的语法规则和使用方法。
2.3 汇编语言的程序结构让学生了解汇编语言程序的组成部分,如数据段、代码段、堆栈段等。
让学生掌握汇编语言程序的格式和编写规范。
第三章:汇编语言的编程技巧3.1 寄存器的使用让学生了解寄存器的作用和分类,如AX、BX、CX、DX等。
让学生掌握寄存器在汇编语言编程中的应用技巧。
3.2 数据传输指令让学生了解数据传输指令的用法,如MOV、PUSH、POP等。
让学生掌握数据传输指令在汇编语言编程中的应用技巧。
3.3 算术运算指令让学生了解算术运算指令的用法,如ADD、SUB、MUL、DIV等。
让学生掌握算术运算指令在汇编语言编程中的应用技巧。
第四章:汇编语言程序设计实例4.1 实例一:计算两个数的和让学生了解程序设计的基本步骤,如编写算法、选择寄存器等。
让学生掌握汇编语言编程的基本技巧,如数据传输、算术运算等。
4.2 实例二:排序算法(冒泡排序)让学生了解排序算法的原理和实现方法。
让学生掌握汇编语言编程中循环结构和条件判断的使用技巧。
4.3 实例三:字符串操作让学生了解字符串的基本操作,如字符串长度计算、字符串复制等。
让学生掌握汇编语言编程中字符串操作的相关指令和技巧。
4.4 汇编语言程序设计4.4.1汇编语言程序设计基本步骤分析问题,抽象出问题的数学模型 确定解决问题的的算法 按算法画出程序流程图 按流程图编写程序 上机调试, 运行程序14.4汇编语言程序设计常用的汇编语言程序框架:DATA VAL1 DATA CODE SEGMENT DB 12H , 8EH …… ENDS ;定义数据段 ;定义变量 ;数据段结束SEGMENT ;定义代码段 ASSUME DS:DATA , CS: CODE ;段属性说明 START: MOV AX , DATA ;初始化DS MOV DS , AX …… ;填写代码 MOV AX , 4C00H ;返回DOS INT 21H CODE ENDS ;代码段结束 END START ;源程序结束 24.4.2汇编语言程序的 基本结构——顺序结构顺序结构 简单程序,顺序执行, 又称直线程序开始 执行1 执行2 结束34.4.2汇编语言程序基本结构 ——顺序结构(续)例: DATA BLOCK BUFF DATA CODE SEGMENT DW 0ABCDH ;字变量赋值 DD? ;预留双字单元 ENDS SEGMENT ASSUMT CS:CODE,DS:DATA MOV AX, DATA ;设数据段寄存器 MOV DS, AX ;的值 MOV DX, BLOCK4START:4.4.2汇编语言程序基本结构 ——顺序结构(续)MOV AND AND MOV SHR LED MOV MOV MOV MOV AX, DX AX, 0F0FH DX, 0F0F0H CL, 4 DX, CL BX, BUFF [BX+0], AL [BX+1], DL [BX+2], AH [BX+3], DH ;AX=0B0DH ;DX=A0C0H ;右移4次,DX=0A0CH ;BX指向预留单元 ; [BX+0]=0DH ; [BX+1]=0CH ;存结果 [BX+2]=0BH ; [BX+3]=0AH54.4.2汇编语言程序基本结构 ——顺序结构(续)MOV AX, 4C00H INT 21H CODE ENDS END START ;dos调用64.4.2汇编语言程序基本结构 ——分支结构 分 支 程 序 结 构 示 意 图7例:Y =1 0 -1当X>0 当X=0 当X<0Y=符号函数实现流程图84.4.2汇编语言程序基本结构 ——分支结构(续)例: MY-D MEMS MEMD MY-D MY-C START: SEGMENT DB 08h ;存放X DB ? ;存放Y ENDS SEGMENT ASSUME DS:MY-D CS:MY-C, MOV AX,MY-D MOV DS,AX ;设置DS9MOV AL,MEMS CMP AL,0 JGE NEXT ; X ≥0 ,带符号数比较指令 MOV AL,-1 ;X<0,-1送入MEMD单元 JMP DONE NEXT: JE DONE ; ZF=1转移 MOV AL,1 ;X >0,1送入MEMD单元 DONE: MOV MEMD,AL ;X=0, 0送入MEMD单元 MOV AH,4C00H INT 21H MY-C ENDS END START10————例4-1:编程统计BUFF缓冲区中负数的个数START例4-2:结果存放在DL寄存器中。