170425 汇编-实验11和内中断初识

1625-5 王子昂 总结《2017年4月25日》 【连续第206天总结】

A. 汇编语言 十一章

B. 实验11

子程序:将包含任意字符,以0结尾的字符串中的小写字母改为大写字母

以前通过使用and来无差别修改字母的程序,现在有了条件转移和大小写判断终于可以写一个判断程序了

letterc: mov ch,0

l: mov al,[si] ;通过8位寄存器al来定义数据单位为1字节

cmp al,97 ;将数据与97做比较

jb s0 ;al小于97则跳出(非小写字母)

cmp al,122 ;将数据与122做比较

ja s0 ;大于122则跳出(非小写字母)

sub al,20H ;通过上述两个边界判断以后则为小写字母,进行减法,改为大写字母

mov [si],al 赋值回去

s0: mov cl,al 判断数据是否为0

jcxz ok

inc si 非0则继续循环,si+1移向下一个字符

loop l

ok: ret


内中断: 任何一个通用的CPU都可以在执行完当前指令后,检测到从CPU外部或内部传来的一种特殊信息,并且可以立即对该信息进行处理。把这种特殊信息称之为“中断信息”

内中断表示CPU内部传来的信息,有4种情况

除法错误

单步执行

执行into指令

执行int指令

CPU需要对中断信息进行处理,首先要知道中断信息的来源。因此中断信息必须包含识别来源的编码。

8086CPU用被称为“中断类型码”的数据来标识来源。

中断类型码是一个字节型数据,可以表示256种中断信息的来源。

类型码:

除法错误:0

单步执行:1

into指令:4

int指令:由int指令的参数n决定(int n),其中N即为中断类型码

如何处理,可以由编程决定。CPU在收到信息后,应该转去执行该中断信息的处理程序。

而要CPU转向处理程序,就需要将CS:IP指向它的入口。因此CPU需要根据类型码确定处理程序的入口地址。

因此,类型码的作用就是用来定位中断处理程序。

CPU根据中断向量表来寻找处理程序的入口地址。

中断向量表存放在内存地址0处,按照类型码依次往下排,每个类型码占据2个字,分别存放入口地址的段地址和偏移地址

C. 明日计划

QT和JS

汇编语言十二章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值