《精选》汇编语言期末总结(地大).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文档。上传文档
查看更多
12.3 中断向量表 对于8086PC机,中断向量表指定放在内存地址0处。从内存0000:0000到0000:03FF的1024个单元中存放着中断向量表。 我们可以用中断类型码,在中断向量表中找到中断处理程序的入口。然后用它设置CS和IP,使CPU执行中断处理程序。 中断号:N, 则中断例程的入口地址在中断向量表中可以这样获取:IP = N*4, CS = N*4+2 * 中断执行步骤 TF 跟踪标志/Trace Flag 用于控制处理器进入单步跟踪方式: 0-禁止进入单步中断跟踪,处理器正常工作 1-允许进入单步中断跟踪,处理器单步执行,跟踪指令执行 IF 中断标志/Interrupt Flag 用于控制外部可屏蔽中断是否可以被处理器响应: 设置IF=1,则允许可屏蔽中断; 设置IF=0,则禁止可屏蔽中断。 * 中断执行的步骤如下: 【1】取得中断类型码N 【2】pushf 【3】IF=0, IF=0 , 禁止可屏蔽中断,禁止单步中断 【4】push CS 【5】push IP 【6】IP = N*4, CS = N*4+2, 中断例程的跳转,设定CS,IP * assume cs:code code segment start: mov ax,cs mov ds,ax mov si,offset do0 ;设置ds:si指向源地址 mov ax,0 mov es,ax mov di,200h ;设置es:di指向目的地址 mov cx,offset do0end - offset do0 ;设置cx为传输长度 cld ;设置传输方向为正 rep movsb ;设置中断向量表 mov ax,0 mov es,ax mov word ptr es:[0*4], 200h mov word ptr es:[0*4+2], 0 mov ax,4c00h int 21h 标志寄存器 * 标志位 名称 说明 ? Debug 1 Debug 0 ZF 零标志位/Zero Flag 指令执行后,结果是否为0 ? 1: 0 sub,mul,add,div inc,or,and ZR NZ PF 奇偶标志位/Parity Flag 指令执行后,结果的bit位中,1的个数是否为偶数 ? 1: 0 PE PO SF 符号标志位/Sign Flag 指令执行后,结果是否为负 ? 1: 0 NG PL CF 进位标志位/Carry Flag 无符号运算时,记录运算结果的最高有效位向更高位的进位值,或从更高位的借位值 CY NC OF 溢出标志位/Overflow Flag 有符号运算时,运算结果是否发生溢出? 1: 0 OV NV DF 方向标志位/Direction Flag 0-串处理指令时,si,di递增 1-串处理指令时,si,di递减 此标志位要与movsb,movsw配合使用,指明每次循环后si,di的增减 AF 辅助进位标志/Auxiliary Carry Flag 运算时D3位(低半字节)有进位或借位时,AF = 1; 否则AF = 0。 如:49H + 6DH=B6H,D3有进位:AF = 1 TF 跟踪标志/Trace Flag 用于控制处理器进入单步跟踪方式: 0-禁止进入单步中断跟踪,处理器正常工作 1-允许进入单步中断跟踪,处理器单步执行,跟踪指令执行 IF 中断标志/Interrupt Flag 用于控制外部可屏蔽中断是否可以被处理器响应: 设置IF=1,则允许可屏蔽中断; 设置IF=0,则禁止可屏蔽中断。 DEBUG -U: 查看汇编指令 【-U 1000:0】 -R: 查看、修改寄存器的值 【-R AX】 修改寄存器AX的值 -T: 执行命令 -D: 查看内存 【-D 段地址:偏移地址】 如: 【-D 1000:0】 【-D 1000:0 9】 -E: 改写内存 【-E 段地址:偏移地址 数据 …】 如:【-E 1000:0 1 2 3 4 5】 【-E 1000:0 ‘a’ ‘b’ ‘c’】 【-E 1000:0 “welcom masm”】 -A: 写汇编指令到内存 【-A 1000:0】 mov ax,111 ………. * 对内存单元的操作 如果未指定寄存器,对内存单元的操作采用以下形式: 【1】word ptr 指定访问的内存单元为 字单元, 如: mov word ptr ds:[0] 1 inc word ptr [bx

文档评论(0)

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

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

1亿VIP精品文档

相关文档