《汇编语言程序设计》课程教学资源(PPT课件讲稿)PPT教学课件(2/4)

六、过程定义伪操作 格式过程名PROC类型 过程名ENDP ▲过程定义由伪操作PROC开始、ENDP结束 其中:PROC和ENDP必须成对出现, 且语句前必须有过程名,过程名必须相同 ▲PROC和ENDP语句之间为子程的指令序列。 ▲程序中可以定义多个过程。 ▲程序经汇编、连接及装入内存后, 过程名为一具体的内存地址,指示子程入口
1 六、过程定义伪操作 格式 过程名 PROC 类型 、、、 过程名 ENDP ▲ 过程定义由伪操作PROC开始、ENDP结束。 其中: PROC 和ENDP 必须成对出现, 且语句前必须有过程名,过程名必须相同。 ▲ PROC和ENDP语句之间为子程的指令序列。 ▲ 程序中可以定义多个过程。 ▲ 程序经汇编、连接及装入内存后, 过程名为一具体的内存地址,指示子程入口

▲过程名常用作CALL调用指令的操作数, 子程的最后安排RE返回指令,使执行完子程后能返回调用处。 ▲过程有两种类型:NEAR和FAR 无类型项时,默认为NEAR类型 当过程与调用指令不在同一段时,应将过程定义为FAR类型。 过程类型决定子程中RET的返回类型
2 ▲过程名常用作CALL调用指令的操作数, 子程的最后安排RET返回指令,使执行完子程后能返回调用处。 ▲过程有两种类型:NEAR和FAR 无类型项时,默认为NEAR类型。 当过程与调用指令不在同一段时,应将过程定义为 FAR 类型。 过程类型决定子程中RET的返回类型

例1 display proc C3H RET ;NEAR属性的过程对应段内返回 display ENDP 例2 display PRoC Far CBH RET ;FAR属性的过程对应段间返回 display ENDP
3 例1 display PROC 、、 、、 C3H 、、 RET ;NEAR 属性的过程对应段内返回 display ENDP 例2 display PROC FAR 、、 、、 CBH 、、 RET ;FAR属性的过程对应段间返回 display ENDP

汇编语言程序举例三
4 汇编语言程序举例三

;利用汇编语言程序结构例三(子程结构) 用二进制显示中断向量表中数据D0H的个数 key EQU0D0H;用符号表示常量(关键字) code SEgMent ;代码段开始 ;用二进制显示BX内容子程 ASSUME CS: code begin: MOV AX. 0000H display proc MOV DS. AX MOV CX.16 MOV SI 0000H rotate: ROL BX. 1 MOV CX.0400H MOV DL BL MOV BX. 0 AND DL OIH MOⅤAL,key ADD DL 30H next: CMP I SI, AL MOV AH. 2H JNZ point INT 21H INC BX LOOP rotate point: INC SI RET 子程返回 LOOP next display ENDP CALL display;调用显示子程 code ENDs ;代码段结束 MOAH,4CH;返回DOS INT 21H end begin;指示程序结束和 ;程序入口
5 ;利用汇编语言程序结构例二(子程结构) ;用二进制显示中断向量表中数据D0H的个数 key EQU 0D0H ;用符号表示常量(关键字) code SEGMENT ;代码段开始 ASSUME CS:code begin: MOV AX , 0000H MOV DS , AX MOV SI , 0000H MOV CX , 0400H MOV BX , 0 MOV AL , key next: CMP [ SI ] , AL JNZ point INC BX point: INC SI LOOP next CALL display ; 调用显示子程 MOV AH, 4CH ; 返回DOS INT 21H ;用二进制显示BX内容子程 display PROC MOV CX , 16 rotate: ROL BX , 1 MOV DL , BL AND DL , 01H ADD DL , 30H MOV AH , 2H INT 21H LOOP rotate RET ;子程返回 display ENDP code ENDS ;代码段结束 END begin ;指示程序结束和 ;程序入口

七、等值定义伪操作 格式符号名EQU需等值的表达式 ▲作用是用符号名等值指定的表达式 其中 表达式可以是任何有效的操作数 汇编时用语句中的表达式代替程序中符号所在的地方。 ▲应用: 1.定义符号常量,方便修改程序。 2.某表达式多次出现时,用等值伪操作可以方便编程
6 七、等值定义伪操作 格式 符号名 EQU 需等值的表达式 ▲作用是用符号名等值指定的表达式 其中 : 表达式可以是任何有效的操作数 汇编时用语句中的表达式代替程序中符号所在的地方。 ▲应用: 1. 定义符号常量,方便修改程序。 2. 某表达式多次出现时,用等值伪操作可以方便编程

;利用汇编语言程序结构例三(子程结构) 用二进制显示中断向量表中数据D0H的个数 key EQU ODOH 用符号表示常量关键字):用二进制显示BX内容子程 code SEgMent ;代码段开始 display proc ASSUME CS: code MOV CX. 16 begin: MOV AX, 0000H rotate ROL BX. 1 MOV DS. AX MOV DL. BL MOV SI 0000H AND DL OIH MOV CX.0400H ADD DL 30H MOV BX. 0 MOV AH 2H MOV AL, key NT 21H next: CMP SI, AL LOOP rotate JNZ point RET ;子程返回 INC BX display endp point: INC SI code ENDS 代码段结束 LOOP next eNd begin;指示程序结束和 CALL display;调用显示子程 程序入口 MOV AH,4CH;返回DOS INT 21H
7 ;利用汇编语言程序结构例二(子程结构) ;用二进制显示中断向量表中数据D0H的个数 key EQU 0D0H ;用符号表示常量(关键字) code SEGMENT ;代码段开始 ASSUME CS:code begin: MOV AX , 0000H MOV DS , AX MOV SI , 0000H MOV CX , 0400H MOV BX , 0 MOV AL , key next: CMP [ SI ] , AL JNZ point INC BX point: INC SI LOOP next CALL display ; 调用显示子程 MOV AH, 4CH ; 返回DOS INT 21H ;用二进制显示BX内容子程 display PROC MOV CX , 16 rotate: ROL BX , 1 MOV DL , BL AND DL , 01H ADD DL , 30H MOV AH , 2H INT 21H LOOP rotate RET ;子程返回 display ENDP code ENDS ;代码段结束 END begin ;指示程序结束和 ;程序入口

实现用二进制显示中断向量表中数据D0H的个数。 分析:中断向量表指内存0:0~0:3FFH 大小400H(即1K)字节空间; 查找关键字D0H; 将关键字的个数,存放在BX中, 采用二进制显示BX内容,16个字符; 采用子程调用结构
8 实现 用二进制显示中断向量表中数据 D0H的个数。 分析: 中断向量表指内存0:0 ~ 0:3FFH 大小 400H (即1K ) 字节空间; 查找关键字D0H; 将关键字的个数,存放在BX中, 采用二进制显示BX内容,16个字符; 采用子程调用结构

主程序流程图 子程序流程图 开始 开始 DS: SI ←查找区域首地址0:0 CX+查找长度400H 显示字符个数16 BX←计数值初值 BX循环左移1位, 取内存单元内容, 将要显示的位移至最低位,保存在DL中 与关键字比较,相等? 清DL的高7位,只保留要显示位的值 BX←计数值加1 DL←DL+3 修改指针,指向下一单元 完成数值0~1的ASC码转换 CX←CX-1,查找结束? 调用DOS系统02功能,显示DL中的字 CX←CX-1,显示结束? 调用子程,显示BX的内容 返回DOS RET返回
9 主程序流程图 取内存单元内容, 与关键字比较,相等? N 开始 Y Y N BX ← 计数值加 1 修改指针,指向下一单元 CX ← CX-1 , 查找结束? DS: SI ← 查找区域首地址 0 : 0 CX ← 查找长度 400H BX ← 计数值初值 0 调用子程,显示 BX 的内容 返回 DOS 子程序流程图 开始 Y N 清 DL 的高 7 位,只保留要显示位的值 调用 DOS 系统 02 功能,显示 DL 中的字符 CX ← CX-1 , 显示结束? CX ← 显示字符个数 16 RET 返回 BX 循环左移 1 位, 将要显示的位移至最低位,保存在 DL 中 DL ← DL+30H , 完成数值 0~1 的 ASCII 码转换

利用汇编语言程序结构例二(子程结构) 用二进制显示中断向量表中数据D0H的个数 key EQU DOH;用符号表示常量(关键字)|:用二进制显示BX内容子程 code SEgment 代码段开始 display proc ASSUME CS: code begin: MOV AX, 0000H MOV CX.16 MOV DS. AX rotate ROL BX. 1 MOV SI 0000H MOV DL BL MOV CX. 0400H AND DL OIH MOV BX. 0 ADD DL 30H MOV AH 2H MOV AL, key next: CMP I SI, AL INT 21H JNZ point LOOP rotate INC BX RET ;子程返回 point: INC SI display ENDP LOOP next cod ENDS 代码段结束 CALL display;调用显示子程 ENd begin;指示程序结束和 MOV AH,4CH;返回DOS ;程序入口 INT 21H
10 ;利用汇编语言程序结构例二(子程结构) ;用二进制显示中断向量表中数据D0H的个数 key EQU D0H ;用符号表示常量(关键字) code SEGMENT ;代码段开始 ASSUME CS:code begin: MOV AX , 0000H MOV DS , AX MOV SI , 0000H MOV CX , 0400H MOV BX , 0 MOV AL , key next: CMP [ SI ] , AL JNZ point INC BX point: INC SI LOOP next CALL display ; 调用显示子程 MOV AH, 4CH ; 返回DOS INT 21H ;用二进制显示BX内容子程 display PROC MOV CX , 16 rotate: ROL BX , 1 MOV DL , BL AND DL , 01H ADD DL , 30H MOV AH , 2H INT 21H LOOP rotate RET ;子程返回 display ENDP code ENDS ;代码段结束 END begin ;指示程序结束和 ;程序入口
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《汇编语言程序设计》课程教学资源(PPT课件讲稿)PPT教学课件(1/4).ppt
- 企业网(PPT讲稿)广域网技术3/3.ppt
- 企业网(PPT讲稿)广域网技术2/3.ppt
- 企业网(PPT讲稿)广域网技术1/3.ppt
- 《计算机网络工程》课程PPT教学课件:第四章计算机局域网.ppt
- 《计算机网络工程》课程PPT教学课件:第六章网络互连与INTERNET.ppt
- 《计算机网络工程》课程PPT教学课件:第五章高速网络技术.ppt
- 《计算机网络工程》课程PPT教学课件:第二章数据通信基础.ppt
- 《计算机网络工程》课程PPT教学课件:第三章计算机网络体系结.ppt
- 《计算机网络工程》课程PPT教学课件:第七章网络安全与管理.ppt
- 《计算机网络工程》课程PPT教学课件:第一章网络概论.ppt
- 中国地质大学:电子商务(网络经济对传统商务的冲击).ppt
- 中国地质大学:电子商务(网络经济学).ppt
- 电子商务:第四章 电子商务支付系统.ppt
- 计算机在商务中的应用:第二章 技术基础.ppt
- 电子商务的实现.ppt
- 计算机在商务中的应用:电子商务概述.ppt
- 中国地质大学:电子商务的价值链与赢利模式.ppt
- 电子商务和网络营销 PPT.ppt
- 电子商务与现代物流(物流概念的产生与发展、现代物流与我国的现状).ppt
- 《汇编语言程序设计》课程教学资源(PPT课件讲稿)PPT教学课件(3/4).ppt
- 《汇编语言程序设计》课程教学资源(PPT课件讲稿)PPT教学课件(4/4).ppt
- 华北航天工业学院:《数据通信与计算机网络技术》课程教学资源(PPT课件)第10章 网络安全.ppt
- 华北航天工业学院:《数据通信与计算机网络技术》课程教学资源(PPT课件)第1章 计算机网络基础.ppt
- 华北航天工业学院:《数据通信与计算机网络技术》课程教学资源(PPT课件)第2章 数据通信.ppt
- 华北航天工业学院:《数据通信与计算机网络技术》课程教学资源(PPT课件)第3章 物理层.ppt
- 华北航天工业学院:《数据通信与计算机网络技术》课程教学资源(PPT课件)第4章 数据链路层.ppt
- 华北航天工业学院:《数据通信与计算机网络技术》课程教学资源(PPT课件)第5章 网络层.ppt
- 华北航天工业学院:《数据通信与计算机网络技术》课程教学资源(PPT课件)第6章 传输层.ppt
- 华北航天工业学院:《数据通信与计算机网络技术》课程教学资源(PPT课件)第7章 应用层协议.ppt
- 华北航天工业学院:《数据通信与计算机网络技术》课程教学资源(PPT课件)第8章 局域网体系结构.ppt
- 华北航天工业学院:《数据通信与计算机网络技术》课程教学资源(PPT课件)第9章 局域网技术.ppt
- 《c++语言编程》课程教学资源(PPT课件)第一章 C++语言编程入门.ppt
- 《c++语言编程》课程教学资源(PPT课件)第三章 类与对象.ppt
- 《c++语言编程》课程教学资源(PPT课件)第二章 函数.ppt
- 《c++语言编程》课程教学资源(PPT课件)第五章 继承和派生类.ppt
- 《c++语言编程》课程教学资源(PPT课件)第四章 指针和引用.ppt
- 《c++语言编程》课程教学资源(PPT课件)第四章复习.ppt
- 《Java语言》课程教学课件(PPT讲稿)第一章 Java语言概述.ppt
- 《Java语言》课程教学课件(PPT讲稿)第七 常用工具.ppt