tag:blogger.com,1999:blog-8573685359056491736.post5295309557638866049..comments2023-07-08T07:05:37.053-07:00Comments on Scrammed!: Code obFU(N)scation mixing 32 and 64 bit mode instructionsgiuliahttp://www.blogger.com/profile/12995367052667481710noreply@blogger.comBlogger5125tag:blogger.com,1999:blog-8573685359056491736.post-89003848375846354032015-04-21T05:19:53.518-07:002015-04-21T05:19:53.518-07:00Really Nice Information,Thank You Very Much For Sh...Really Nice Information,Thank You Very Much For Sharing. <br /><a href="http://websensepro.com/our-services/web-design-and-development/" rel="nofollow">Web Development Company</a>Anonymoushttps://www.blogger.com/profile/17872437858794024103noreply@blogger.comtag:blogger.com,1999:blog-8573685359056491736.post-64401020969335844912014-10-29T16:58:55.898-07:002014-10-29T16:58:55.898-07:00The PCI BIOS is used to attempt to determine IO p...The PCI BIOS is used to attempt to determine IO ports for ATA/ATAPI. It is also used for the PCIRep(); That's it. It is the official way to access PCI configuration space, however, so users might want to play with it. Google "PCI BIOS".<br /><br />My Kernel.BIN starts in real mode and changes to protected 32-bit, then long 64-bit mode. Before changing to 64-bit, it calls a couple BIOS routines while still in real 16-bit mode. http://www.templeos.org/Wb/Kernel/KStart.html<br /><br />I was expecting you to make the mistake of thinking long mode had a toggle like 66 67. 48 is rex. They stole 40-4F which used to be INC DEC. I wrote a 64-bit assembler an compiler, so I am an expert. <br /><br />Here is a quiz: http://www.templeos.org/Wb/Demo/Lectures/64BitAsmQuiz.html<br /><br />>CTrace(ON); //trace cmd line compiler<br />>U(&PutS+0x10); // Unassembler in or out of debugger<br />>Uf("PutS"); //Unassemble function.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-8573685359056491736.post-15746186594413971832014-10-29T16:38:00.312-07:002014-10-29T16:38:00.312-07:00TempleOS stays in 64-bit mode. There is support f...TempleOS stays in 64-bit mode. There is support for PCI BIOS32 but you will never execute that. My compiler compiles only 64-bit HolyC. It assembler 16-bit,322-bit and 64-bit. I do not make elf or PE, I make a flat BIN for Kernel.BIN and Compiler.BIN. There is a code patch table in my BIN files for converting absolute addresses to the correct value. If you unassembler the unpatched code, the absolute addresses will look strange.<br /><br />I made a debugger. <br />>Dbg;<br />>Help;<br />>U(&Print+0x20); // Unassemble<br /><br />All memory is identity-mapped, so it is like paging is not used. I do not have the normal conbvention. It is ring-0-only, so kernel is not distinguished from any other code.<br /><br />The lowest 2GIg is where all code is placed. I can use REL32 CALL all the time.<br /><br />I never use SYSCALL SYSENTER SYSEXIT or software interrupts.<br /><br />Each task has a stack. Each stack is at a different location. Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-8573685359056491736.post-65377144499102181522014-10-29T08:57:16.064-07:002014-10-29T08:57:16.064-07:00cool article, thanks for writing it upcool article, thanks for writing it upandrewlhttps://www.blogger.com/profile/15585896448040772484noreply@blogger.comtag:blogger.com,1999:blog-8573685359056491736.post-15233226918368072042014-10-29T02:17:19.969-07:002014-10-29T02:17:19.969-07:00Great, Thanks !Great, Thanks !VnSpl0ithttps://www.blogger.com/profile/02589518377434744671noreply@blogger.com