伪指令
db指令:伪指令,用于定义操作数所占用的字节数。b 就是byte,也就是说每一个操作数占用一个字节,在程序编译到时候,会将 db 后面定义的数据将被视作纯数据而不是指令代码。
ledcode db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh  ;定义 ledcode 数组dw指令:伪指令,其基本含义与上面的 db 指令是相同的,不同在于 dw 是用来定义16位数据,也就是说每个数据是需要用两个单元存放。高8位数据字节存入高地址字节中,而低8位数据字节则存入低地址字节中。
buf dw ?dd指令:伪指令,与上面的指令是基本功能是相同的,该指令是用来定义4个字节数据的。
指令
cmp指令:用于比较整数,相当于减法指令,只是不保存结果,但是会修改标志寄存器的某一位,也就是说会按照计算结果修改溢出、符号、零、进位、辅助进位和奇偶标志位。程序在条件跳转指令中使用 CMP 指令的时候,汇编语言的执行结果就和其他语言的 if 语句一样。
mov ax,200h
mov bx,201h
cmp ax,bx上述执行过程会使得 (ax)=200,(bx)=201h,
各标志位初始状态:ZF=0,PF=1,SF=0,CF=0,OF=0,(ZF:零标志,PF:奇偶标志,SF:符号标志,CF:进位标志,OF:溢出标志)
ax、bx情况  | 标志位  | 
ax == bx  | ZF = 1  | 
ax != bx  | ZF = 0  | 
ax < bx  | SF = 1  | 
ax >= bx  | SF = 0  | 
ax > bx  | SF = 0 并且 ZF = 0  | 
ax <= bx  | SF = 1 并且 ZF = 1  | 
inc指令:算术运算类指令,起到加1的功能,并将结果返回给操作数
mov bx 200h
inc bx    ;inc 算术运算类指令,起到加1的功能sal、sar、shl、shr指令
指令  | 解释  | ||
算数指令  | sal指令  | 算数左移指令, 在执行的时候会将操作数看成带符号数进行移位的  | |
sar指令  | 算数右移指令, 在执行的时候会将操作数看成带符号数进行移位的  | ||
逻辑指令  | shl指令  | 算数左移指令, 在执行的时候会将操作数看成带符号数进行移位的  | |
shr指令  | 算数右移指令, 在执行的时候会将操作数看成带符号数进行移位的  | ||










