📄 disboot.asm
字号:
; ==================================================== ;
; .: keenjoy95 2007 :. ;
; .: keenjoy95_at_gmail_dot_com :. ;
; ---------------------------------------------------- ;
; 代码描述 : 引导扇区演示程序反汇编 ;
; 逆向方法 : ;
; ndisasm -o 0x7c00 boot.bin >> disboot.asm ;
; ==================================================== ;
00007C00 E92600 jmp 0x7c29 ; 无条件跳转到程序的入口点
; 跳转的指令是"E9 2600" (地址偏移是0026, 向后跳38D/0x26H个字节)
;------------------------------------------------------;
; * 下面是错误的反汇编 —— 数据段 * ;
;------------------------------------------------------; "Hello, MyOS world!"
00007C03 48 dec ax ; "H"
00007C04 656C gs insb ; "e" | "l"
00007C06 6C insb ; "l"
00007C07 6F outsw ; "o"
00007C08 2C20 sub al,0x20 ; "," | " "
00007C0A 4D dec bp ; "M"
00007C0B 794F jns 0x7c5c ; "y" | "O"
00007C0D 53 push bx ; "S"
00007C0E 20776F and [bx+0x6f],dh ; " " | "w" | "o"
00007C11 726C jc 0x7c7f ; "r" | "l"
00007C13 6421B8037C and [fs:bx+si+0x7c03],di ; "d" | "!" (注意: 这里混合了指令和数据)
;
; [正确的反汇编如下]
; ------------------
; 00007C15 B8037C mov ax,0x7c03
;------------------------------------------------------;
; * 代 码 段 * ;
;------------------------------------------------------;
; B8037C mov ax,0x7c03 ; ┓
00007C18 89C5 mov bp,ax ; ┃
00007C1A B91200 mov cx,0x12 ; ┃
00007C1D B80113 mov ax,0x1301 ; ┣ 字符串显示子程序
00007C20 BB0C00 mov bx,0xc ; ┃
00007C23 BA0000 mov dx,0x0 ; ┃
00007C26 CD10 int 0x10 ; ┛
00007C28 C3 ret ; 子程序无参数返回
00007C29 8CC8 mov ax,cs ; ┓
00007C2B 8ED8 mov ds,ax ; ┣ 段寄存器初始化
00007C2D 8EC0 mov es,ax ; ┛
00007C2F E8E3FF call 0x7c15 ; 跳转的指令是"E8 E3FF" (地址偏移是FFE3, 向前跳29D/0x1DH个字节)
00007C32 EBFE jmp short 0x7c32 ; 主程序进入无限循环
; 跳转的指令是"E8 FE" (地址偏移是00FE, 向前跳2D个字节, 进入死循环)
;------------------------------------------------------;
; * 下面是错误的反汇编 —— 引导区填充段及结束标志 * ;
;------------------------------------------------------;
00007C34 0000 add [bx+si],al
00007C36 0000 add [bx+si],al
00007C38 0000 add [bx+si],al
00007C3A 0000 add [bx+si],al
00007C3C 0000 add [bx+si],al
00007C3E 0000 add [bx+si],al
00007C40 0000 add [bx+si],al
00007C42 0000 add [bx+si],al
00007C44 0000 add [bx+si],al
00007C46 0000 add [bx+si],al
00007C48 0000 add [bx+si],al
00007C4A 0000 add [bx+si],al
00007C4C 0000 add [bx+si],al
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 + -