上一题下一题
跳转到
 
 
  世界如此多姿,发展如此迅速,窥一斑未必还能知全豹。但正如万花筒一样,每一个管窥都色彩斑斓。  
 
 
  知识通道 | 学习首页 | 教师首页 | PK首页 | 知识创造首页 | 企业首页 | 登录
 
本文对应知识领域
系统定义的宏
作者:未知 申领版权
2010年12月12日 共有 2217 次访问 【添加到收藏夹】 【我要附加题目
受欢迎度:

    系统定义的宏
    MASM 6.11系统定义了大量的标准宏,程序员能很方便地使用它们。在使用这些系统宏之前,要象C语言那样用伪指令INCLUDE把有关“宏库”文件包含在用户的源程序中。主要的系统宏库文件有:DOS.INC和BIOS.INC,它们存放在系统的include子目录中。
    例9.18:使用系统宏定义,编写从键盘上读取一个字符。
    解:
    include dos.inc         ;把系统宏定义文件包含在源程序之中
    ……
    @getchar 1, 1          ;引用系统宏定义
    ……
    下面是系统宏@getchar的使用参数描述和定义,其它系统宏的有关信息请参阅相关的宏定义文件。
    1、系统宏@GetChar的使用说明
    

 
    
宏的功能:
    
从键盘读字符
    
使用语法:
    
@GetChar  [echo] [,[break] [,clearbuf]]
    
参数说明:
    
<echo>
    
;常量,非零表示“回显”,缺省值为“回显”
    
<break>
    
;常量,非零表示接受“^C”,缺省值为“接受”
    
<clearbuf>
    
;常量,非零表示清键盘缓冲区,缺省值为“不清”
    
返回参数:
    
AL=ASCII码
    
内容破坏:
    
AX,DL(若回显,且不接受^C)
    
参见内容:
    
INT 21h — 01h、07h、08h和0Ch,@GetStr
    

2、系统宏@GetChar的定义
    该宏定义在宏库文件dos.inc中,其具体宏定义如下:
    

@GetChar
    
MACRO  ech:=<1>, cc:=<1>, clear:=<0>
    
LOCAL  funct, disp
    
disp = 1
    
IF ech
    
IF cc
    
funct = 01h        ;使用功能1
    
ELSE
    
funct = 07h        ;使用功能7
    disp = 02h         ;设置需要回显标志
    
ENDIF
    
ELSE
    
IF cc
    
funct = 08h        ;使用功能8
    
ELSE
    
funct = 07h        ;使用功能7
    
ENDIF
    
ENDIF
    
IFE clear
    
mov  ah, funct      ;置功能号
    
ELSE
    
mov  ah, 0Ch        ;先清输入缓冲区,再接受键盘输入
    mov  al, funct
    
ENDIF
    Int  21h                  ;调用DOS功能中断
    
IF disp EQ 02h          ;检查是否需要回显
    
mov  dl, al
    mov  ah, 02h
    int  21h
    
ENDIF
    ENDM
    

对于上面的宏定义,程序员完全可以把它修改成其它形式的宏定义。
    

 

相关新闻

企业太学系统培训--8、K.Store、成绩透视
企业太学系统培训--7、建立书籍
太学系统操作培训--6、建立项课
太学系统操作培训--5、建立知库
企业太学系统操作--4、建立点培
企业太学系统操作--3、员工、学员管理
企业太学系统操作--2、建立题目及问卷
企业太学系统操作--1、建立文章
打造超级DOS系统(下)
化学实验基本仪器

您可能对这些感兴趣  

干货分享|10本最受国外孩子喜爱的英文词典——上
从孩子的表现看父母的缺点!请家长对号入座,看看你是哪一类?
20条制作PPT的视觉原则
培训简史:培训者必知的历史轨迹
广田丰管理培训生人才培养调查报告
第4讲 作为上司的职业经理
第3讲 作为同事的职业经理
第2讲 作为下属的职业经理
第1讲 培养经理人的管理素养
酒店前台新员工上岗培训计划

题目筛选器
日期:
类型:
状态:
得分: <=
分类:
作者:
职业:
关键字:
搜索

 
 
 
  焦点事件
 
  知识体系
 
  职业列表
 
 
  最热文章
 
 
  最多引用文章
 
 
  最新文章
 
 
 
 
网站介绍 | 广告服务 | 招聘信息 | 保护隐私权 | 免责条款 | 法律顾问 | 意见反馈
版权所有 不得转载
沪ICP备 10203777 号 联系电话:021-54428255
  帮助提示    
《我的太学》是一种全新的应用,您在操作中遇到疑问或者问题,请拨打电话13564659895,15921448526。
《我的太学》