- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章寻址方式及指令系统
CX=0转移 格式 测试条件 JCXZ 标号 (CX)=0 例:?、? 是双精度数,分别存于 DX,AX 及 BX,CX 中, ? ? 时转 L1 ,否则转 L2 CMP DX, BX JG L1 JL L2 CMP AX, CX JA L1 L2: …… L1: …… 例:如果 X50,转到TOO_HIGH;否则 |X-Y| → RESULT, 如果溢出转到 OVERFLOW, JG JO JNS MOV AX, X CMP AX, 50 TOO_HIGH SUB AX, Y OVERFLOW NONNEG NEG AX NONNEG: MOV RESULT, AX TOO_HIGH: …… OVERFLOW: …… 循环指令: LOOP 标号 测试条件:(CX) ? 0 为零或相等时循环指令: LOOPZ(LOOPE) 标号 测试条件:ZF=1 且 (CX) ? 0 不为零或不相等时循环指令: LOOPNZ(LOOPNE) 标号 测试条件:ZF=0 且 (CX) ? 0 循环转移指令 例3.58:求1至10的累加和 MOV CX,10 XOR AL,AL MOV BL,1 AGAIN:ADD AL,BL INC BL LOOP AGAIN 例:存储器的数据段中有100个字节构成的数组,要求从该数组中找出“$”字符,然后将“$”字符前面的所有元素相加,结果保留在AL寄存器中。 MOV CX, 100 ;初始化 MOV SI, 00FFH LL1: INC SI CMP BYTE PTR [SI], ‘$’ ;找”$”字符 LOOPNE LL1 SUB SI, 0100H ;”$”字符之前字节数 MOV CX, SI MOV SI, 0100H MOV AL, [SI] DEC CX ;相加次数 LL2: INC SI ADD AL,[SI] ;累加”$”字符前的字节 LOOP LL2 HLT * BIOS 驻留在ROM中的基本输入/输出系统 加电自检,装入引导,主要I/O设备处理程序及接口控制 BIOS功能调用使程序员不必了解硬件操作的细节而实现相应的操作。 DOS 磁盘操作系统 相比BIOS,对硬件的依赖性小 DOS功能与BIOS功能均通过中断方式调用。 3.4 常用DOS系统功能调用和BIOS中断调用 DOS中断与BIOS中断 DOS中断,占用类型号为20H~3FH。目前使用的为20H~27H和2FH,其余类型号保留。 见表3.3 BIOS中断比DOS级别更低,其与硬件相关性更强执行速度更快,但兼容性较差。BIOS中断的中断号为10H—1FH。 见表3.4 在某些情况下,同样的功能既可选择DOS中断,也可选择BIOS中断 DOS中断 * 包括: 设备管理,目录管理,文件管理,其它 BIOS中断 DOS和BIOS中断调用的基本步骤 将调用参数装入指定的寄存器; 将功能号装入AH; 按中断类型号调用DOS或BIOS中断; 检查返回参数是否正确。 * 一、DOS系统功能调用 说明: 用软中断指令调用,中断类型码固定为21H。 DOS系统功能调用是包含多个子功能的功能包; 各子功能用功能号区分; 调用格式: MOV AH,功能号 置相应入口参数 INT 21H 分析出口参数 附录A * 1. 单字符输入 调用方法: MOV AH,01 INT 21H 输入的字符在AL中 注意: 1号、7号、8号功能调用,都可实现上述功能,将所键入字符的ASCII码存于AL中。区别是:1
原创力文档


文档评论(0)