微机原理与接口 C0404.pptx

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理与接口 C0404

微机原理与接口技术 过程定义伪指令 用于定义一个过程 格式: 过程名 PROC [NEAR/FAR] … RET 过程名 ENDP 断点 宏命令伪指令 宏: 源程序中由汇编程序识别的,具有独立功能的一段程序 当源程序中需要多次使用同一个程序段时,可将该程序段定义为一个宏 格式: 宏命令名 MACRO 形式参数 … ENDM 宏定义与宏调用例 定义宏: DADD MACRO X, Y, Z MOV AX, X ADD AX, Y MOV Z, AX ENDM 调用宏: DADD DATA1, DATA2, SUM 宏展开: MOV AX, DATA1 ADD AX, DATA2 MOV SUM, AX DOS软中断 DOS中断包括:设备管理、目录管理、文件管理等 用中断类型码区分 DOS软中断 类型码21H 各子功能用功能号区分 调用格式 MOV AH, 功能号 置相应参数 INT 21H 1. 中断指令 格式: INT n 说明: n×4:存放中断子程序入口地址的单元的偏移地址 中断向量表区: 内存起始处,0~3FFH ,每4个字节,构成一个中断子程序的入口地址,又可称为一个中断向量,n×4、n×4+1单元存放偏移地址,n×4+2、n×4+3单元存放段基址 中断类型码 n=0~255 7XXHH 7XXHH 7XXHH 7…H 0 中断指令执行过程 将FLAGS压入堆栈 将INT指令的下一条指令的CS、IP压栈 由n×4得到存放中断向量的地址 将中断向量(中断子程序地址)送CS和IP寄存器 转入中断服务程序 程序设计例1:阅读程序段,说明该程序段的功能 DATA SEGMENT A DB ‘123ABC’ DATA ENDS CODE SEGMENT ASSUME CS: CODE, DS: DATA START: MOV AX, DATA MOV DS, AX LEA BX, A MOV CX, 6 LP: MOV AH, 2 MOV AL, [BX] XCHG AL, DL INC BX INT 21H LOOP LP MOV AH, 4CH INT 21H CODE ENDS END START 程序设计例2:编写程序,求Z=[(X+Y)×8-X]/2的值,并将结果存在RESULT单元中,其中X、Y的值分别存放于VARX、VARY单元中。 DATA SEGMENT VARX DW 6 VARY DW 7 RESULT DW ? DATA ENDS CODE SEGMENT ASSUME CS: CODE, DS: DATA START: MOV AX, DATA MOV DS, AX MOV AX, VARX ADD AX, VARY MOV CL, 3 SAL AX, CL SUB AX, VARX SAR AX, 1 MOV RESULT, AX MOV AH, 4CH INT 21H CODE ENDS END START 程序设计例3:用查表法将一个十六进制数转换成对应的ASCII码 DATA SEGMENT TABLE DB 30H,31H,32H,33H,34H,35H,36H,37H DB 38H,39H,41H,42H,43H,44H,45H,46H HEX DB 7 ASC DB ? DATA ENDS CODE SEGMENT ASSUME CS: CODE, DS: DATA START: MOV AX, DATA MOV DS, AX MOV BX, OFFSET TABLE MOV AH, 0 MOV AL, HEX ADD BX, AX MOV AL, [BX] MOV ASC, AL MOV AH, 4CH INT 21H CODE ENDS END START 程序设计例3:用查表法将一位十六进制数转换成对应的ASCII码 (使用XLAT换码指令实现) 程序设计例3:用查表法将一位十六进制数转换成对应的ASCII码 (使用XLAT换码指令实现) DATA SEGMENT TABLE DB 30H,31H,32H,33H,34H,35H,36H,37H

您可能关注的文档

文档评论(0)

wyjy + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档