ah,al很明显了就是a higha low一个16位寄存器高位和地位的称呼也就是你说的axor运算就是.运算的两个位都为真得到的结果就为真举个例子:1 or 2看的仔细切换成二进制运算 0001or 0010 0011(也就是十进制的3)因为第一位是1,第二位是0,而第二个数的第一位是0第二位是1根据 or计算原理.1 or 0=1,0 or 0=0,0 or 1=1,1 or 1=1的原理那得到的就是0011看上去很清楚现在来说说ah和alax是一个16位寄存器ah=高八位(a high)al=低八位(a low)ax=1234h =也就是高位12,低位34如果计算的话那就是12h = 0001 001034h = 0011 0100计算的结果就是: 0011 0110 = 36h = 54可是直接 or ah, al就是高位和低位进行or运算将结果高存在ah里面计算得到的结果就是ax = 3634hor会改变一些标志寄存器的值-除了运算有的时候也会被当做判断使用例如 cmp al, 0就可以写作 or al, al-比较短小精悍cmp eax, eax=or eax, eax之类的可以参考一下。《Intel汇编语言程序设计》等书籍