📄 disboot.asm
字号:
; ==================================================== ;
; .: keenjoy95 2007 :. ;
; .: keenjoy95_at_gmail_dot_com :. ;
; ---------------------------------------------------- ;
; 代码描述 : 引导扇区演示程序反汇编 ;
; 逆向方法 : ;
; ndisasm -o 0x7c00 boot.bin >> disboot.asm ;
; ndisasm -o 0x7c00 -k 3,26 boot.bin >> disboot.asm ;
; ==================================================== ;
00007C00 E93D00 jmp 0x7c40 ; 无条件跳转到程序的入口点
; 跳转的指令是"E9 3D00" (地址偏移是003D, 向后跳61D/0x3DH个字节)
;------------------------------------------------------;
; * 下面是错误的反汇编 —— 数据段 * ;
;------------------------------------------------------; "Hello, MyOS!"
00007C03 07 pop es ; "Beep"
00007C04 48 dec ax ; "H"
00007C05 106514 adc [di+0x14],ah ; (0x10) | "e" | (0x14)
00007C08 6C insb ; "l"
00007C09 1F pop ds ; (0x1f)
00007C0A 6C insb ; "l"
00007C0B 126F16 adc ch,[bx+0x16] ; (0x12) | "o" | (0x16)
00007C0E 2CFC sub al,0xfc ; "," | (0xfc)
00007C10 20F0 and al,dh ; " " | (0xf0)
00007C12 4D dec bp ; "M"
00007C13 4B dec bx ; (0x4b)
00007C14 7941 jns 0x7c57 ; "y" | (0x41)
00007C16 4F dec di ; "O"
00007C17 40 inc ax ; (0x40)
00007C18 53 push bx ; "S"
00007C19 4F dec di ; (0x4f)
00007C1A 214C07 and [si+0x7],cx ; "!" | (0x4c) | "Beep"
;------------------------------------------------------;
; * 代 码 段 * ;
;------------------------------------------------------;
00007C1D B80006 mov ax,0x600 ; ┓
00007C20 BB0007 mov bx,0x700 ; ┃
00007C23 B90000 mov cx,0x0 ; ┣ 清屏子程序
00007C26 BA4F18 mov dx,0x184f ; ┃
00007C29 CD10 int 0x10 ; ┛
00007C2B C3 ret ; 子程序无参数返回
00007C2C B8037C mov ax,0x7c03 ; ┓
00007C2F 89C5 mov bp,ax ; ┃
00007C31 B90E00 mov cx,0xe ; ┃
00007C34 B80313 mov ax,0x1303 ; ┣ 字符串显示子程序
00007C37 BB0000 mov bx,0x0 ; ┃
00007C3A BA0000 mov dx,0x0 ; ┃
00007C3D CD10 int 0x10 ; ┛
00007C3F C3 ret ; 子程序无参数返回
00007C40 8CC8 mov ax,cs ; ┓
00007C42 8ED8 mov ds,ax ; ┣ 段寄存器初始化
00007C44 8EC0 mov es,ax ; ┛
00007C46 E8D4FF call 0x7c1d ; 跳转的指令是"E8 D4FF" (地址偏移是FFD4, 向前跳44D/0x2CH个字节)
00007C49 E8E0FF call 0x7c2c ; 跳转的指令是"E8 E0FF" (地址偏移是FFE0, 向前跳32D/0x20H个字节)
00007C4C EBFE jmp short 0x7c4c ; 主程序进入无限循环
; 跳转的指令是"E8 FE" (地址偏移是00FE, 向前跳2D个字节, 进入死循环)
;------------------------------------------------------;
; * 下面是错误的反汇编 —— 引导区填充段及结束标志 * ;
;------------------------------------------------------;
00007C4E 0000 add [bx+si],al
00007C50 0000 add [bx+si],al
00007C52 0000 add [bx+si],al
00007C54 0000 add [bx+si],al
00007C56 0000 add [bx+si],al
00007C58 0000 add [bx+si],al
00007C5A 0000 add [bx+si],al
00007C5C 0000 add [bx+si],al
00007C5E 0000 add [bx+si],al
00007C60 0000 add [bx+si],al
00007C62 0000 add [bx+si],al
00007C64 0000 add [bx+si],al
00007C66 0000 add [bx+si],al
00007C68 0000 add [bx+si],al
00007C6A 0000 add [bx+si],al
00007C6C 0000 add [bx+si],al
00007C6E 0000 add [bx+si],al
00007C70 0000 add [bx+si],al
00007C72 0000 add [bx+si],al
00007C74 0000 add [bx+si],al
00007C76 0000 add [bx+si],al
00007C78 0000 add [bx+si],al
00007C7A 0000 add [bx+si],al
00007C7C 0000 add [bx+si],al
00007C7E 0000 add [bx+si],al
00007C80 0000 add [bx+si],al
00007C82 0000 add [bx+si],al
00007C84 0000 add [bx+si],al
00007C86 0000 add [bx+si],al
00007C88 0000 add [bx+si],al
00007C8A 0000 add [bx+si],al
00007C8C 0000 add [bx+si],al
00007C8E 0000 add [bx+si],al
00007C90 0000 add [bx+si],al
00007C92 0000 add [bx+si],al
00007C94 0000 add [bx+si],al
00007C96 0000 add [bx+si],al
00007C98 0000 add [bx+si],al
00007C9A 0000 add [bx+si],al
00007C9C 0000 add [bx+si],al
00007C9E 0000 add [bx+si],al
00007CA0 0000 add [bx+si],al
00007CA2 0000 add [bx+si],al
00007CA4 0000 add [bx+si],al
00007CA6 0000 add [bx+si],al
00007CA8 0000 add [bx+si],al
00007CAA 0000 add [bx+si],al
00007CAC 0000 add [bx+si],al
00007CAE 0000 add [bx+si],al
00007CB0 0000 add [bx+si],al
00007CB2 0000 add [bx+si],al
00007CB4 0000 add [bx+si],al
00007CB6 0000 add [bx+si],al
00007CB8 0000 add [bx+si],al
00007CBA 0000 add [bx+si],al
00007CBC 0000 add [bx+si],al
00007CBE 0000 add [bx+si],al
00007CC0 0000 add [bx+si],al
00007CC2 0000 add [bx+si],al
00007CC4 0000 add [bx+si],al
00007CC6 0000 add [bx+si],al
00007CC8 0000 add [bx+si],al
00007CCA 0000 add [bx+si],al
00007CCC 0000 add [bx+si],al
00007CCE 0000 add [bx+si],al
00007CD0 0000 add [bx+si],al
00007CD2 0000 add [bx+si],al
00007CD4 0000 add [bx+si],al
00007CD6 0000 add [bx+si],al
00007CD8 0000 add [bx+si],al
00007CDA 0000 add [bx+si],al
00007CDC 0000 add [bx+si],al
00007CDE 0000 add [bx+si],al
00007CE0 0000 add [bx+si],al
00007CE2 0000 add [bx+si],al
00007CE4 0000 add [bx+si],al
00007CE6 0000 add [bx+si],al
00007CE8 0000 add [bx+si],al
00007CEA 0000 add [bx+si],al
00007CEC 0000 add [bx+si],al
00007CEE 0000 add [bx+si],al
00007CF0 0000 add [bx+si],al
00007CF2 0000 add [bx+si],al
00007CF4 0000 add [bx+si],al
00007CF6 0000 add [bx+si],al
00007CF8 0000 add [bx+si],al
00007CFA 0000 add [bx+si],al
00007CFC 0000 add [bx+si],al
00007CFE 0000 add [bx+si],al
00007D00 0000 add [bx+si],al
00007D02 0000 add [bx+si],al
00007D04 0000 add [bx+si],al
00007D06 0000 add [bx+si],al
00007D08 0000 add [bx+si],al
00007D0A 0000 add [bx+si],al
00007D0C 0000 add [bx+si],al
00007D0E 0000 add [bx+si],al
00007D10 0000 add [bx+si],al
00007D12 0000 add [bx+si],al
00007D14 0000 add [bx+si],al
00007D16 0000 add [bx+si],al
00007D18 0000 add [bx+si],al
00007D1A 0000 add [bx+si],al
00007D1C 0000 add [bx+si],al
00007D1E 0000 add [bx+si],al
00007D20 0000 add [bx+si],al
00007D22 0000 add [bx+si],al
00007D24 0000 add [bx+si],al
00007D26 0000 add [bx+si],al
00007D28 0000 add [bx+si],al
00007D2A 0000 add [bx+si],al
00007D2C 0000 add [bx+si],al
00007D2E 0000 add [bx+si],al
00007D30 0000 add [bx+si],al
00007D32 0000 add [bx+si],al
00007D34 0000 add [bx+si],al
00007D36 0000 add [bx+si],al
00007D38 0000 add [bx+si],al
00007D3A 0000 add [bx+si],al
00007D3C 0000 add [bx+si],al
00007D3E 0000 add [bx+si],al
00007D40 0000 add [bx+si],al
00007D42 0000 add [bx+si],al
00007D44 0000 add [bx+si],al
00007D46 0000 add [bx+si],al
00007D48 0000 add [bx+si],al
00007D4A 0000 add [bx+si],al
00007D4C 0000 add [bx+si],al
00007D4E 0000 add [bx+si],al
00007D50 0000 add [bx+si],al
00007D52 0000 add [bx+si],al
00007D54 0000 add [bx+si],al
00007D56 0000 add [bx+si],al
00007D58 0000 add [bx+si],al
00007D5A 0000 add [bx+si],al
00007D5C 0000 add [bx+si],al
00007D5E 0000 add [bx+si],al
00007D60 0000 add [bx+si],al
00007D62 0000 add [bx+si],al
00007D64 0000 add [bx+si],al
00007D66 0000 add [bx+si],al
00007D68 0000 add [bx+si],al
00007D6A 0000 add [bx+si],al
00007D6C 0000 add [bx+si],al
00007D6E 0000 add [bx+si],al
00007D70 0000 add [bx+si],al
00007D72 0000 add [bx+si],al
00007D74 0000 add [bx+si],al
00007D76 0000 add [bx+si],al
00007D78 0000 add [bx+si],al
00007D7A 0000 add [bx+si],al
00007D7C 0000 add [bx+si],al
00007D7E 0000 add [bx+si],al
00007D80 0000 add [bx+si],al
00007D82 0000 add [bx+si],al
00007D84 0000 add [bx+si],al
00007D86 0000 add [bx+si],al
00007D88 0000 add [bx+si],al
00007D8A 0000 add [bx+si],al
00007D8C 0000 add [bx+si],al
00007D8E 0000 add [bx+si],al
00007D90 0000 add [bx+si],al
00007D92 0000 add [bx+si],al
00007D94 0000 add [bx+si],al
00007D96 0000 add [bx+si],al
00007D98 0000 add [bx+si],al
00007D9A 0000 add [bx+si],al
00007D9C 0000 add [bx+si],al
00007D9E 0000 add [bx+si],al
00007DA0 0000 add [bx+si],al
00007DA2 0000 add [bx+si],al
00007DA4 0000 add [bx+si],al
00007DA6 0000 add [bx+si],al
00007DA8 0000 add [bx+si],al
00007DAA 0000 add [bx+si],al
00007DAC 0000 add [bx+si],al
00007DAE 0000 add [bx+si],al
00007DB0 0000 add [bx+si],al
00007DB2 0000 add [bx+si],al
00007DB4 0000 add [bx+si],al
00007DB6 0000 add [bx+si],al
00007DB8 0000 add [bx+si],al
00007DBA 0000 add [bx+si],al
00007DBC 0000 add [bx+si],al
00007DBE 0000 add [bx+si],al
00007DC0 0000 add [bx+si],al
00007DC2 0000 add [bx+si],al
00007DC4 0000 add [bx+si],al
00007DC6 0000 add [bx+si],al
00007DC8 0000 add [bx+si],al
00007DCA 0000 add [bx+si],al
00007DCC 0000 add [bx+si],al
00007DCE 0000 add [bx+si],al
00007DD0 0000 add [bx+si],al
00007DD2 0000 add [bx+si],al
00007DD4 0000 add [bx+si],al
00007DD6 0000 add [bx+si],al
00007DD8 0000 add [bx+si],al
00007DDA 0000 add [bx+si],al
00007DDC 0000 add [bx+si],al
00007DDE 0000 add [bx+si],al
00007DE0 0000 add [bx+si],al
00007DE2 0000 add [bx+si],al
00007DE4 0000 add [bx+si],al
00007DE6 0000 add [bx+si],al
00007DE8 0000 add [bx+si],al
00007DEA 0000 add [bx+si],al
00007DEC 0000 add [bx+si],al
00007DEE 0000 add [bx+si],al
00007DF0 0000 add [bx+si],al
00007DF2 0000 add [bx+si],al
00007DF4 0000 add [bx+si],al
00007DF6 0000 add [bx+si],al
00007DF8 0000 add [bx+si],al
00007DFA 0000 add [bx+si],al
00007DFC 0000 add [bx+si],al
00007DFE 55 push bp ; 引导扇区结束标志位1
00007DFF AA stosb ; 引导扇区结束标志位2
; ---8<--------------- [Cut Here] --------------->8--- ;
; .: keenjoy95 2007 :. ;
; .: keenjoy95_at_gmail_dot_com :. ;
; ! NO rights reserved ! ;
; ---------------------------------------------------- ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -