Size: a a a

2020 March 18

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮ in pro.asm
d1vunit
Даже отличная
а радасм тогда как охарактеризуешь?
источник

d

d1vunit in pro.asm
Не знаю такое
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮ in pro.asm
d1vunit
Не знаю такое
ты точно на асме пишешь?
источник

d

d1vunit in pro.asm
Глупые вопросы
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮ in pro.asm
d1vunit
Глупые вопросы
тогда скажи, есть ли какая нибудь иде полностью написанная на асме?
источник

d

d1vunit in pro.asm
Aiwan ╭∩╮ (òÓ,) ╭∩╮
тогда скажи, есть ли какая нибудь иде полностью написанная на асме?
Есть но зачем тебе это мы говорим про то где удобно писать на асме
источник

d

d1vunit in pro.asm
А не из чего она сделана вопрос не в пафосе а в удобстве
источник

AQ

Ask Q in pro.asm
радасм имхо удобнее, и редакто ресурсов есть для любителей)
источник

AQ

Ask Q in pro.asm
а если писать раз в год проект с 1 файлом то и сасма хватит)
источник
2020 March 19

RG

R G in pro.asm
привет
источник

RG

R G in pro.asm
пишу переключение контекста, после iret вообще все прерывания перестают работать
источник

RG

R G in pro.asm
что это?почему так
источник

RG

R G in pro.asm
если подробнее : есть обработчик прерывания таймера, он вызывает функцию schedule а она в свою очередь вызывает переключение контекста
источник

RG

R G in pro.asm
контекст один раз переключается с главного потока ядра на второй поток и на нем так и остается тк больше вообще никакие прерывания не работают((
источник

ЕК

Евгений Красников (Jin X) in pro.asm
Если это прерывание от таймера (IRQ0), неплохо бы EOI послать PIC-у.
источник

RG

R G in pro.asm
Евгений Красников (Jin X)
Если это прерывание от таймера (IRQ0), неплохо бы EOI послать PIC-у.
да, у меня от таймера. Послать EOI до iret ? Или вместо?
источник

AQ

Ask Q in pro.asm
до
источник

RG

R G in pro.asm
спс попробую отпишу как что
источник

d

d1vunit in pro.asm
Кто знаком с winapi почему я не прочитал mbr?
источник

d

d1vunit in pro.asm
format PE

use32

include 'C:\fasm\INCLUDE\win32ax.inc'

section '.bss' readable writable

   HMBR rd 1
   
   buf rb 512
   
   var1 rd 1
   
   count1 rb 1
   
   bytesread rd 1

section '.text' readable executable

entry _start

filename db '\\\\.\\PhysicalDrive0',0

error_read db '[-] Error read MBR',0x0a,0x00

complete_read db '[+] Complete read mbr',0x0a,'[*] MBR: ',0x00

msg db '%002X ',0x00

_start:
 
  invoke CreateFile,filename, GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, 0, 0

  cmp eax,0x00
  jz error_open

  mov dword ptr HMBR,eax
 
  invoke SetFilePointer,HMBR,0x00,0x00,FILE_BEGIN
 
  invoke ReadFile,HMBR,buf,512,bytesread,0x00
 
  cmp eax,0x00
  jz Comp_read
 
  invoke printf,error_read
  jmp near return
Comp_read:

   invoke printf,complete_read

   cld
   lea esi,[buf]
   mov ecx,512
   mov byte ptr count1,0x00
.lp:
   lodsb
   movzx eax,al
   mov dword [var1],eax
   cmp byte ptr count1,0x0c
   jnz .continue
   
   mov byte ptr count1,0x00
   invoke putchar,0x0a
   
.continue:
   inc byte ptr count1
   mov eax,dword [var1]
   cinvoke printf,msg,eax
   
   loop .lp
   
error_open:
jmp short continue

   error_open_msg db '[-] Error open PhysicalDriver0',0x0a,0x00

continue:
   invoke printf,error_open_msg
   jmp short @f
return:

  invoke CloseHandle,HMBR
@@:
  invoke ExitProcess,0x00

section '.code' import data readable executable

   library Kernel32,'Kernel32.dll',\
           msvcrt,'msvcrt.dll',\
           user32,'user32.dll'
   
    import Kernel32,\
       ExitProcess,'ExitProcess',\
       CreateFile,'CreateFileA',\
       CloseHandle,'CloseHandle',\
       ReadFile,'ReadFile',\
       WriteFile,'WriteFile',\
       SetFilePointer,'SetFilePointer'
   
    import msvcrt,printf,'printf',putchar,'putchar'
источник