汇编
文章平均质量分 89
学习汇编
星空远山与浪
这个作者很懒,什么都没留下…
展开
-
[李忠老师从实模式到保护模式] 第1-10章总结
CF(0): Carry Flag 进位/借位PF(2): Parity Flag 奇偶标志,算术操作结果低8位有偶数个1,此标志是1OF(11): Overflow Flag 溢出标志,溢出为1e.g.ah=1111 1101, add ah,5 -> OF=0 因为AH是负数-> OF=1 因为结果是230ZF(6): Zero Flag 运算结果=0时此标志是1SF(7): sign flag 运算结果最高位设置此标志,0正1负。原创 2023-08-13 18:14:18 · 170 阅读 · 1 评论 -
[王爽老师汇编语言总结] 第1-4章
a. 参考:https://blog.csdn.net/Apelpoo/article/details/51870154 / https://blog.csdn.net/csdn_gddf102384398/article/details/84311183。实验2中阐述了一个知识点:使用DEBUG.exe,用t单步,mov ss,ax之后,会紧接着执行下一条指令.且不单是mov ss,ax,所有修改栈段寄存器ss的指令都会有相同的情况,这个是什么原因?a. 从此知识点可知,最好以mov ss,xx;原创 2023-07-16 19:39:34 · 60 阅读 · 0 评论 -
[汇编语言]BUG与错题
这是在王爽老师的<汇编语言 第三版>,第10章实验10的第3个小实验转换为课程设计1中的双字节版本的dtoc过程中遇到的.如图,DEBUG.EXE调试时,显示的值是12666,结果是正确的.但是在没有DEBUG.EXE介入时,运行的结果确是58138.上面的程序中,没有对dx进行初始化操作,导致dx可能是个随机值.修改方法就是mov dx,0即可.原创 2023-08-05 22:08:45 · 97 阅读 · 0 评论 -
[王爽老师汇编语言总结] 第12-17章
内中断是如何产生的?a. 除法错误,如除0,溢出,中断码=0b. 单步执行,中断码=1c. 执行into指令,中断码=4d. 执行int指令,格式:int n如何根据中断码获取中断程序入口位置?a. 根据中断码,在中断向量表中查找该中断码对应的中断程序CS和IP,并设置CS:IP以进行跳转b. N号中断源对应的中断处理程序入口的IP的内存单元地址为:4N, CS为4N+2(高地址字存放段地址,低地址字存放偏移地址)c. a过程由CPU硬件自动完成d.4和N。原创 2023-08-01 23:26:13 · 85 阅读 · 0 评论 -
[王爽老师汇编语言总结] 第9-11章
a. 将当前的IP或CS:IP压入栈中;转移b. call指令不能实现短转移, call指令实现的转移方法和jmp指令原理相同。原创 2023-07-23 21:36:09 · 85 阅读 · 0 评论 -
[王爽老师汇编语言总结] 第5-8章
a. div/mul reg / div 内存单元b. 除数:有8位和16位两种,在reg或内存单元中c. 被除数:若除数为8位,被除数为16位,默认放AX;若除数为16位,被除数为32位,在DX(高16位)和AX(低16位)中存放d. 结果:若除数为8位,则AL存商,AH存余数;若除数为16位,AX存商,DX存余数e. 注:可能在程序中出现div导致cs:ip跑飞(即出现异常了)的情况,这种时候通常是结果寄存器的长度不足以存放结果或者出现除0。原创 2023-07-20 00:41:00 · 61 阅读 · 0 评论