;=----------------------------------------------------------------------------=; ; GNU GPL OS/K ; ; ; ; Desc: Basic longmode CPU functions ; ; (x86_64 architecture only) ; ; ; ; ; ; Copyright © 2018-2019 The OS/K Team ; ; ; ; This file is part of OS/K. ; ; ; ; OS/K is free software: you can redistribute it and/or modify ; ; it under the terms of the GNU General Public License as published by ; ; the Free Software Foundation, either version 3 of the License, or ; ; (at your option) any later version. ; ; ; ; OS/K is distributed in the hope that it will be useful, ; ; but WITHOUT ANY WARRANTY; without even the implied warranty of ; ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ; ; GNU General Public License for more details. ; ; ; ; You should have received a copy of the GNU General Public License ; ; along with OS/K. If not, see . ; ;=----------------------------------------------------------------------------=; [global temporize] [global bitemporize] [global tritemporize] [BITS 64] temporize: push rcx mov rcx, 2000 .looping: nop nop nop loop .looping pop rcx ret bitemporize: push rcx mov rcx, 2000 .looping: call temporize loop .looping pop rcx ret tritemporize: push rcx mov rcx, 20 .looping: push rcx call bitemporize pop rcx loop .looping pop rcx ret ; ---------------------------------------------------------------------------- ; ; Returns the CPU Vendor String.pointer in eax ; ; ---------------------------------------------------------------------------- ; cpu_vendor