王爽《汇编语言》 第13章 int指令.ppt

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

第13章 int指令 * 一、软中断指令 int 格式: int n ;n为中断类型码,功能是引发n号中断 CPU执行int n指令的过程描述为: 1、取中断类型码n; 2、标志寄存器入栈,IF=0,TF=0; 3、CS、IP入栈; 4、(IP)=(n×4),(CS)=(n×4+2) assume cs:code code segment start: mov ax,0b800h mov es,ax mov byte ptr es:[12*160+40*2],‘!’ int 0 code ends end start 引发n号中断 二、编写供应用程序调用的中断例程 1、 示例一 编写、安装中断7ch 的中断例程。 功能:求一word型数据的平方; 参数(ax)=要计算的数据; 返回值:dx、ax中存放结果的高16位和低16位。 应用举例:求2*34562 assume cs:code code segment start: mov ax,3456 int 7ch add ax,ax adc dx,dx mov ax, 4c00h int 21h code ends end start call指令 执行call指令的功能相当于: 1、push cs、push ip 或 push ip; 2、修改当前ip或ip和cs转向子程序。 int指令 执行int指令的功能相当于: 1.标志寄存器入栈; 2.push cs、push ip  3.修改当前ip和cs转去执行中断例程。 call dword ptr ds:[ ] int 7ch中断例程分析 编写中断例程的过程: 1.完成特定的功能.(实现求平方) 2.安装程序.(安装在0:200处) 3.设置中断向量表,将程序的入口地址保存在7ch表项中,使其成为中断7ch的中断例程。  assume cs:code code segment start: mov ax,cs mov ds,ax mov si,offset sqr mov ax,0 mov es,ax mov di,200h mov cx,offset sqrend-offset sqr cld rep movsb mov ax,0 mov es,ax mov word ptr es:[7ch*4],200h mov word ptr es:[7ch*4+2],0 mov ax,4c00h int 21h  sqr: mul ax iret sqrend: nop code ends end start  iret指令: pop ip pop cs popf 2.示例二 编写、安装中断7ch的中断例程 功能:将一个全是字母,以0结尾的字符串,转化为大写。 参数: ds:si指向字符串的首地址。 应用举例:将data段中的字符串转化为大写。 assume cs:code data segment db ‘conversation’,0 data ends code segment start: mov ax,data mov ds,ax mov si,0 int 7ch mov ax,4c00h int 21h code ends end start assume cs:code code segment start: mov ax,cs mov ds,ax mov si,offset capital mov ax,0 mov es,ax mov di,200h mov cx,offset capitalend-offset capital cld rep movsb mov ax,0 mov es,ax mov word ptr es:[7ch*4],200h mov word ptr es:[7ch*4+2],0 mov ax,4c00h int 21h capital: push cx push si change: mov cl,[si]

文档评论(0)

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

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

1亿VIP精品文档

相关文档