<% global.setTypeDest = function (t) { return ( ` mov r11b, ${t} shl r11, 56 mov [rdi], r11`); } %> <% global.toMont_a = function () { return ( ` push rdi mov rdi, rsi mov rsi, rdx call ${name}_toMontgomery mov rdx, rsi mov rsi, rdi pop rdi`); } %> <% global.toMont_b = function() { return ( ` push rdi mov rdi, rdx call ${name}_toMontgomery mov rdx, rdi pop rdi`); } %> <% global.fromMont_a = function () { return ( ` push rdi mov rdi, rsi mov rsi, rdx call ${name}_toNormal mov rdx, rsi mov rsi, rdi pop rdi`); } %> <% global.fromMont_b = function() { return ( ` push rdi mov rdi, rdx call ${name}_toNormal mov rdx, rdi pop rdi`); } %> <% global.toLong_a = function () { return ( ` push rdi push rdx mov rdi, rsi movsx rsi, r8d call rawCopyS2L mov rsi, rdi pop rdx pop rdi`); } %> <% global.toLong_b = function() { return ( ` push rdi push rsi mov rdi, rdx movsx rsi, r9d call rawCopyS2L mov rdx, rdi pop rsi pop rdi`); } %>