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

📄 disboot.asm

📁 03.彩色显示调用、清屏调用以及ASCII 0x07蜂鸣实验
💻 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 + -