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
汇编语言十二章