60 lines
871 B
Plaintext
60 lines
871 B
Plaintext
|
; The OS/K Team licenses this file to you under the MIT license.
|
||
|
; See the LICENSE file in the project root for more information.
|
||
|
|
||
|
;
|
||
|
; int:int add_lq_q(int:int x, int y)
|
||
|
;
|
||
|
add_lq_q:
|
||
|
addf rax, ax0, ax2
|
||
|
adcx rdx, ax1, zero
|
||
|
ret
|
||
|
|
||
|
;
|
||
|
; int:int add_lq_lq(int:int x, int:int y)
|
||
|
;
|
||
|
add_lq_lq:
|
||
|
addf rax, ax0, ax2
|
||
|
adcx rdx, ax1, ax3
|
||
|
ret
|
||
|
|
||
|
;
|
||
|
; int:int sub_lq_q(int:int x, int y)
|
||
|
;
|
||
|
sub_lq_q:
|
||
|
subf rax, ax0, ax2
|
||
|
sbbx rdx, ax1, zero
|
||
|
ret
|
||
|
|
||
|
;
|
||
|
; int:int sub_q_lq(int x, int:int y)
|
||
|
;
|
||
|
sub_q_lq:
|
||
|
subf rax, ax0, ax1
|
||
|
sbbx rdx, zero, ax2
|
||
|
ret
|
||
|
|
||
|
;
|
||
|
; int:int sub_lq_lq(int:int x, int:int y)
|
||
|
;
|
||
|
sub_lq_lq:
|
||
|
subf rax, ax0, ax2
|
||
|
sbbx rdx, ax1, ax3
|
||
|
ret
|
||
|
|
||
|
;
|
||
|
; int:int mul_lq_q(int x, int y)
|
||
|
;
|
||
|
mul_q_q:
|
||
|
mov rax, ax0
|
||
|
mulhi rdx, rax, ax1
|
||
|
ret
|
||
|
|
||
|
;
|
||
|
; int:int imul_lq_q(int x, int y)
|
||
|
;
|
||
|
imul_q_q:
|
||
|
mov rax, ax0
|
||
|
imulhi rdx, rax, ax1
|
||
|
ret
|
||
|
|