当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

《汇编语言程序设计》课程教学资源(PPT课件讲稿)第十章 模块化程序设计

资源类别:文库,文档格式:PPT,文档页数:27,文件大小:301.5KB,团购合买
第十章模块化程序设计 将程序分段、采用子程序或宏结构都是进行模块化程序设计本节介绍开发大型程序时采用的方法:
点击下载完整版文档(PPT)

」第十章模块化程序设计 将程序分段、采用子程序或宏结构都是进行模块 化程序设计 本节介绍开发大型程序时采用的方法: 源程序文件的包含 目标模块连接 子程序库

将程序分段、采用子程序或宏结构都是进行模块 化程序设计 本节介绍开发大型程序时采用的方法: 源程序文件的包含 目标模块连接 子程序库 第十章 模块化程序设计

平101源程序文件的包含二 把源程序分放在几个文本文件中,在汇编时通过包 含伪指令 NCLUDE结合成一体 INCLUDE文件名 可将常用的子程序形成ASM汇编语言源文件 可将常用的宏定义存放在.MAC宏库文件中 可将常量定义、声明语句组织在.INC包含文件中 例4.21a ①宏库文件t421amac ②主程序文件t421aasm ③子程序文件sub421aasm

把源程序分放在几个文本文件中,在汇编时通过包 含伪指令INCLUDE结合成一体 INCLUDE 文件名 • 可将常用的子程序形成.ASM汇编语言源文件 • 可将常用的宏定义存放在.MAC宏库文件中 • 可将常量定义、声明语句组织在.INC包含文件中 例4.21a ① 宏库文件 lt421a.mac ② 主程序文件 lt421a.asm ③ 子程序文件 sub421a.asm 10.1 源程序文件的包含 1

Lt421a. mac dispchar macro char 显示char字符 moy dl. char mov ah. 2 int 21h endm dispms g macro message ;显示 message字符串 mov dx, offset message mov ah. 9 int 21h endm

dispchar macro char ;显示char字符 mov dl,char mov ah,2 int 21h endm dispmsg macro message ;显示message字符串 mov dx,offset message mov ah,9 int 21h endm Lt421a.mac

include lt421a. mac Lt421a. asm dispmsg msg1 提示输入数据 mov bx offset buf call input 数据输入 cmp cx, 0 je start 没有输入数据则退出 mov count, cX 显示输入的数据 ;数据排序 显示经排序后的数据 start:. exit o include sub421a asm end

include lt421a.mac ... dispmsg msg1 ;提示输入数据 mov bx,offset buf call input ;数据输入 cmp cx,0 je start4 ;没有输入数据则退出 mov count,cx ... ;显示输入的数据 ... ;数据排序 ... ;显示经排序后的数据 start4: .exit 0 include sub421a.asm end Lt421a.asm

sub421a. asm 子程序源文件有3个子程序 ALdiss;显示2位16进制数子程序(例4.10) sorting;排序子程序(例4.8) input;键盘输入子程序 还包含一个宏 convert;将DX两位ASCIⅠ码转换为两位16进制数 让我们重点分析键盘输入子程序 input

子程序源文件有3个子程序 ALdisp ;显示2位16进制数子程序(例4.10) sorting ;排序子程序(例4.8) input ;键盘输入子程序 还包含一个宏 convert ;;将DX两位ASCII码转换为两位16进制数 sub421a.asm 让我们重点分析键盘输入子程序 input

input之 键盘输入子程序 入口参数:ds:bx=存放数据的缓冲区 出口参数:cx=数据个数 Input proc push ax push dx Xor CX. CX ;数据个数清0 inputol: or dx, dx 输入字符清0 inputo2: mov ah, 1 键盘输入一个字符 int 21h 继续: Input之二

;键盘输入子程序 ;入口参数:ds:bx=存放数据的缓冲区 ;出口参数:cx=数据个数 input proc push ax push dx xor cx,cx ;数据个数清0 input01: xor dx,dx ;输入字符清0 input02: mov ah,1 ;键盘输入一个字符 int 21h input之 一 继续:input之二

input.之 input10: cmp al, Odh je input30 是回车,结束整个数据的输入 cmp al/ je input20 是空格和逗号,确认输入了一个数据 cmp al.// je input20 cmp al, 08h je input ;是退格,丢弃本次输入的数据,出错 继续: Input之三

input10: cmp al,0dh je input30 ;是回车,结束整个数据的输入 cmp al,’ ’ je input20 ;是空格和逗号,确认输入了一个数据 cmp al,’ , ’ je input20 cmp al,08h je input17 ;是退格,丢弃本次输入的数据,出错 input之 二 继续:input之三

npu cmp al,/0/ ;有效数字判断(图4.5b) jb input 小于’0′,不是有效数字,出错 cmp al,"f′ ja inputt 大于’f′,不是有效数字 cmp al,"a′ jb inputll sub al. 20h ′a~’f′转换成大写’A′~’F′ jmp input12 inputll: cmp al,/F ja input 字符小于’a′、大于’F′,出错 cmp al,"A′ Jae input12;是’A′~’F’,有效字符 cmp al,"9′ Ja input17;是’0′~’9′,有效字符 继续: input之四

cmp al,’0’ ;有效数字判断(图4.5b) jb input17 ;小于’0’,不是有效数字,出错 cmp al,’f’ ja input17 ;大于’f’,不是有效数字 cmp al,’a’ jb input11 sub al,20h ;’a’~’f’转换成大写’A’~’F’ jmp input12 input11: cmp al,’F’ ja input17 ;字符小于’a’、大于’F’,出错 cmp al,’A’ jae input12 ;是’A’~’F’,有效字符 cmp al,’9’ ja input17 ;是’0’~’9’,有效字符 input之 三 继续:input之四

input之 input12: cmp dl, o 有效字符的处理 jne input13 mov dl. al ;d1=0,输入了一个数据的低位,则dl←a1 Jmp input02;转到字符输入 input13: cmp dh, 0 jne input ;d1≠0,dh≠0输入3位数据,出错 moy dh, dl d1≠0,dh=输入了一个数据的续?m之五 moy dl. al Jmp input02;转到字符输入

input12: cmp dl,0 ;有效字符的处理 jne input13 mov dl,al ;dl=0,输入了一个数据的低位,则dl←al jmp input02 ;转到字符输入 input13: cmp dh,0 jne input17 ;dl≠0,dh≠0输入3位数据,出错 mov dh,dl ;dl≠0,dh=0输入了一个数据的高位 mov dl,al ;dh←dl,dl←al jmp input02 ;转到字符输入 input之 四 继续:input之五

npu input17: mov dl, 7 输入错误处理 mov ah. 2 int 2lh mov mov ah. 2 int 2lh jmp input01;转到输入一个数据 继续: input之六

input17: mov dl,7 ;输入错误处理 mov ah,2 int 21h mov dl,'?' mov ah,2 int 21h jmp input01 ;转到输入一个数据 input之 五 继续:input之六

点击下载完整版文档(PPT)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共27页,试读已结束,阅读完整版请下载
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有