一个简单的汇编语言程序:
.data
sum DWORD 0
.code
main PROC
mov eax,5
add eax,6
mov sum,eax
INVOKE ExitProcess,0
main ENDP
加法指令:add
减法指令:sub
加一指令:inc
减一指令:dec
取补指令:neg(用0去减去操作数)
标志寄存器及其使用(简单版):
0:CF最高位产生进位或者借位置1否则0
2:PF最低字节中含有1的位数是奇数还是偶数,奇数置0否则置1
4:AF反应最低四位是否有进位或者借位,如果有则置1否则清0
6:ZF运算结果是0置0
7:SF运算结果为正即有符号数最高位为一清0否则置1
11:OF有符号数溢出置1否则0
.data
sum DWORD 0
.code
main PROC
mov eax,5
add eax,6
mov sum,eax
INVOKE ExitProcess,0
main ENDP
加法指令:add
减法指令:sub
加一指令:inc
减一指令:dec
取补指令:neg(用0去减去操作数)
标志寄存器及其使用(简单版):
0:CF最高位产生进位或者借位置1否则0
2:PF最低字节中含有1的位数是奇数还是偶数,奇数置0否则置1
4:AF反应最低四位是否有进位或者借位,如果有则置1否则清0
6:ZF运算结果是0置0
7:SF运算结果为正即有符号数最高位为一清0否则置1
11:OF有符号数溢出置1否则0