⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 disboot.asm

📁 引导扇区程序示例 引导扇区程序示例
💻 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 + -