大二上的微机实验课,被虐到哭QAQ之前挺难在网上找到代码的,就趁着还记得的时候写点总结,这样之后忘了的话还有个参考~
第一个实验是汇编语言和DOS系统。汇编语言的话,x86和之前ICS里面学到的y86还是有一些差别的。比如说目的操作数,x86会放在前面,y86会放在后面。这些大概只能靠手感了吧。顺带吐槽一下自己,前面的debug没学好,后面程序出错的时候,老师让我分步运行调试一下。然后我上来就打了个GCC,不行之后又跟了一个GDB,被老师吐槽高级的用多了,底层的就不知道了QAQ【嘤嘤嘤好想回到高级语言有IDE的幸福世界
哎其实只是想说明下这里debug输的就是debug特别耿直。里面比较重要的有反汇编的U,当想跳到某个地方的时候就可以反汇编看下指令的地址,然后跳过去。跳的时候可以用G 地址,这样就会跳到那个地址。还有比较常用的是单步的T和P了吧,区别大概就是T在单步的时候会进BIOS/DOS的中断等等乱七八糟的程序,P不会进中断。所以有INT调用的话可以用P去走单步,因为不希望进到系统的中断里面,那个反正不是我们写的我们也不清楚,感觉没啥好调的。
对还有生成可执行文件的东西。原来的1.asm先编译,用命令masm 1.asm; 再是链接,用link 1; 就生成了exe文件了~如果源代码有问题的话,中间会报错,就不会生成exe啦~
想到的大概就是这些,祝找到这里的后来的小朋友们实验课好运~