📄 cmp64.s
字号:
! cmp64*() - 64 bit compare Author: Kees J. Bot! 24 Dec 1995.sect .text.define _cmp64, _cmp64u, _cmp64ul_cmp64: ! int cmp64(u64_t i, u64_t j); mov bx, spcmp64: xor ax, ax mov dx, 2(bx) sub dx, 10(bx) mov dx, 4(bx) sbb dx, 12(bx) mov dx, 6(bx) sbb dx, 14(bx) mov dx, 8(bx) sbb dx, 16(bx) sbb ax, ax ! ax = - (i < j) mov dx, 10(bx) sub dx, 2(bx) mov dx, 12(bx) sbb dx, 4(bx) mov dx, 14(bx) sbb dx, 6(bx) mov dx, 16(bx) sbb dx, 8(bx) adc ax, #0 ! ax = (i > j) - (i < j) ret_cmp64u: ! int cmp64u(u64_t i, unsigned j); mov bx, sp push 16(bx) mov 16(bx), #0 push 14(bx) mov 14(bx), #0 push 12(bx) mov 12(bx), #0 call cmp64 pop 12(bx) pop 14(bx) pop 16(bx) ret_cmp64ul: ! int cmp64ul(u64_t i, unsigned long j); mov bx, sp push 14(bx) mov 14(bx), #0 push 12(bx) mov 12(bx), #0 call cmp64 pop 12(bx) pop 14(bx) ret
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -