第三章-指令系统与寻址方式3.3.3(四).pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 字符输入的功能调用 键盘功能调用INT 16H 功能号:AH=0 出口参数:AX=键值代码 对于标准ASCII码按键:AL=ASCII码,AH=扫描码; 对于扩展按键:AL=00H,AH=键扩展码; 对于alt+小键盘数字按键:AL=ASCII码,AH=00H 此功能类同DOS功能01H,会一直等待按键 例3.43:字符输入输出 mov ah,0 ;键盘功能调用(int 16h) int 16h ;al←按键的ASCII码 mov bx,0 ;显示功能调用(int 10h) mov ah,0eh int 10h ;显示 * 字符串输入的功能调用 DOS功能调用INT 21H 功能号:AH=0AH 入口参数:DS:DX=缓冲区首地址 执行该功能调用时,用户按键,最后用回车确认 本调用可执行全部标准键盘编辑命令;用户按回车键结束输入,如按Ctrl+Break或Ctrl+C则中止 关键要定义好缓冲区 * 缓冲区的定义 第1字节事先填入最多欲接收的字符个数(包括回车字符,可以是1~255) 第2字节将存放实际输入的字符个数(不包括回车符) 第3字节开始将存放输入的字符串 实际输入的字符数多于定义数时,多出的字符丢掉,且响铃 扩展ASCII码(如功能键等)占两个字节,第1个为0 例3.44:输入字符串 buffer db 81 ;定义缓冲区 ;第1个字节填入可能输入的最大字符数 db 0 ;存放实际输入的字符数 db 81 dup(0) ;存放输入的字符串 ... mov dx,seg buffer ;伪指令seg取得buffer的段地址 mov ds,dx ;设置数据段DS mov dx,offset buffer mov ah,0ah int 21h * 按键判断的功能调用 DOS功能调用INT 21H 功能号:AH=0BH 出口参数:AL=0,当前没有按键; AL=FFH,当前已经按键。 功能:仅判断当前是否有按下的键,设置AL后退出 例3.45:按任意键继续 ... ;提示“按任意键继续” getkey: mov ah,0bh int 21h or al,al ;al=0? jz getkey ;al=0,没有按键,继续等待 ;等同于如下功能调用 mov ah,01h int 21h * 按键判断的功能调用 键盘功能调用INT 16H 功能号:AH=1 出口参数:若标志ZF=1,无键按下; 若ZF=0,有键按下,且AX=键值代码 功能:此子功能仅判断是否按键,设置零位标志ZF后退出 这两个功能调用都不循环等待按键,即使有键按下,键盘缓冲区仍然保留键值并且没有被清空,必要时必须用字符输入功能取走键值清空缓冲区 * 3.6 处理机控制与杂项操作指令: ? 标志处理指令 CLC、 STC、 CMC、 CLD、STD、 CLI、STI 注意: * 只影响本指令指定的标志 ? 其他处理机控制与杂项操作指令 NOP、HLT、WAIT、ESC、LOCK * 第3章 教学要求(3) 掌握基本指令:AND/OR/XOR/NOT/TEST、SHL/SHR/SAR、ROL/ROR/RCL/RCR、 JMP/Jcc、JCXZ/LOOP、CALL/RET、INT n/REP/SCASB/MOVSB/CMPSB 了解不常使用的指令: IRET、 LOOPZ/LOOPNZ、INTO 16位数转换为ASCII码 JMP指令:段内相对转移 JMP指令:段内寄存器间接转移 JMP指令:段内存储器间接转移 JMP指令:段间直接转移 JMP指令:段间间接转移 SHL / SAL指令 SHR指令 SAR指令 ROL指令 ROR指令 RCL指令 RCR指令 逻辑运算指令 * 例3.33:JS/JNS指令 ;计算|X-Y|(绝对值) ;X和Y为存放于X单元和Y单元的16位操作数 ;结果存入result mov ax,X sub ax,Y jns nonneg neg ax ;neg是求补指令 nonneg: mov result,ax 例3.34:JO/JNO指令 ;计算X-Y; ;X和Y为存放于X单元和Y单元的16位操作数 ;若溢出,则转移到overflow处理 mov ax,X sub ax,Y jo overflow ... ;无溢出,结果正确 overflow: ... ;有溢出处理 例3.35:JP/JNP指令 ;设字符的ASCII码在AL寄存器中 ;将字符加上奇校验位 ;在字符ASCII码中为“1”的个数已为奇数时 ;则令其最高位为“0”;否则令最高位为“1” and al,

文档评论(0)

js1180 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档