- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * 1 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 8086中断响应周期 T1 T2 T3 T4 T1 T2 T3 T4 中断类型 ALE AD0 ~ AD7 INTA DEN CLK 第一个中断响应周期 第二个中断响应周期 入口参数 子程序的功能号 INT 21H DOS为用户提供了多个功能子程序,可供汇编语言程序设计时直接调用。 调用这些子程序时,三方面的内容 二 、 DOS的系统功能调用和基本IO子程序调用 键盘输入并回显 MOV AH,1 INT 21H 显示输出 MOV AH,2 MOV DL, INT 21H 字符串的显示输出,字符串存在DS:DX为首地址的内存中 MOV AH,09 INT 21H 二 、 DOS的系统功能调用和基本IO子程序调用 字符串的键盘输入 MOV AH,0AH INT 21H 返回DOS MOV AH,4CH INT 21H 预留长度 实际长度 … DS:DX 接收从键盘上 输入的字符 下面的程序实现什么功能?结果在哪里? START: IN AL,20H MOV BL,AL IN AL,30H MOV CL,AL ADLOP: ADD AL,BL ADC AH,0 DEC CL JNZ ADLOP HLT * * * * * * * * * * * * * * * * * * * * * * * * * * * * 转移的目的地址(段和偏移)为存储器的连续4个单元中的内容。 例:JMP DWORD PTR[DI] 调用地址在[DI],[DI+1 ] ,[DI+2 ] ,[DI+3 ]四个存储单元中。低字内容为偏移地址,高字内容为段地址。 设指令执行前:(DS)=4000H,(DI)=1212H, (41212H)=1000H,(41214H)=4A00H 则指令执行后:(IP)=1000H,(CS)=4A00H 于是转到4B000H处开始执行指令。 例中的DWORD PTR表示转移地址是一个双字。 ④段间间接转移 4000 1212 +) 41212 DS DI 00 10 00 4A 41212 41213 41214 41215 1000 4A00 IP CS11101100 JMP DWORD PTR [SI]的机器码 DS:[SI] 程序调用与返回指令 过程(子程序) 一段具有特定功能的,供其它程序调用的公用程序。 特点 调用子程序时,IP(CS)的内容被压入堆栈栈顶。从子程序返回时,栈顶的内容又被弹出到IP(CS)。 子程序执行结束后一般均要返回调用程序。 一次定义,多次调用; 可带参数调用,以完成不同的功能。 优点 程序代码短,结构清晰,便于编程、调试、修改和阅读。 两条相关指令: 子程序调用指令 CALL 子程序返回指令 RET 一般格式:CALL sub ;sub为子程序的入口 (2)调用指令 - CALL CALL执行时分两步进行: 一 保护断点 (1)CALL在同一段内 SP-2,将当前IP压入堆栈 (2)CALL在不同段内(即段间调用) SP-2,将CS压入堆栈 SP-2,将当前IP压入堆栈 二 转到子程序的入口地址 例:下面的程序执行后,(AX)=? (DX)=? CS: 2000H MOV AX, 2012H 2003H MOV CX, 200CH 2006H PUSH CX 2007H CALL 4000H
文档评论(0)