现在不一定要学Win32汇编,再学习习32位的汇编,80x86系列的CPU
现在的cpu基本都是32位的,64位的,并且这类cpu基本都兼容16位的
既然你已经看完了,那其实16bit汇编已经差不多了。
至于你所说的“很多指令和中断例程都没有讲”,这个不能成为你停滞不前的理由。新指令、中断例程这些东西都是死的,并不需要太多的讲解,想了解的可以参阅相关的技术文档。就好像,难道不了解C里面所有库函数的用法就不叫会C语言了么?又有多少个程序员可以脱离MSDN编写程序?
想继续学习有两种选择,一是继续往底层研究《微机原理》,二是转入win32汇编,win32汇编引入了保护模式,CPU的另一半才刚刚向你打开了大门
在充斥各种中高阶言言的现代,末学认为现代学习汇编语言的理由是"最佳化"。
緃使现在CPU有多快,仍然有个罩门:"分支跳跃"。CPU碰到分支跳跃,马上变成跛脚CPU
任何一人在用汇编语言编程时,有个义务,就是让分支跳跃指令达到最少的程度。
例如,数字转ASCII,这个, 大家都会学习到,而最简单的写法如下:
input al : 数字 , output al : ascii
mov al,0fh
cmp al,9
jbe p1
add al,7
p1:
add al,30h
但这时有一个 jbe ,未免遗憾。
还可考虑建一个对应表格,但会用到一些记忆体.
若是最佳化的语法,会变成:
and al,0fh
daa
add al,0f0h
adc al,40h
一样的效果,程式会快很多。。。
还有很多主题,诸如常数除法最佳化,平行指令运用 , 请自行研究了。
不知道楼主为什么想学win16,不学win32!
其实可以去看看IBM-PC汇编中的内容可以互补互助的。