D >dEbuG ShowBL exe r 用 DEBUG装入程序 U冷 0B5E:0000B90800MvCX,0008 0B5E:0003D0E3 SHL BL. 0B5E:00057205 JB 000C 0B5E:0007B230 MOV DL30 0B5E:0009EB03 JMP 000E 0B5E:000B90 NOP 0B5E:000CB231 MOV DL.31 0B5E:000EB402 MOV AH02 0B5E:0010CD21 INT 21 0B5E:001249 DEC CX 0B5E:001375EE JNZ 0003 0B5F:0015B44C MOV AH 4C 0B5F:0017CD21 NT 21
D:\>DEBUG ShowBL.exe ;用DEBUG装入程序 -U 0B5E:0000 B90800 MOV CX,0008 0B5E:0003 D0E3 SHL BL,1 0B5E:0005 7205 JB 000C 0B5E:0007 B230 MOV DL,30 0B5E:0009 EB03 JMP 000E 0B5E:000B 90 NOP 0B5E:000C B231 MOV DL,31 0B5E:000E B402 MOV AH,02 0B5E:0010 CD21 INT 21 0B5E:0012 49 DEC CX 0B5E:0013 75EE JNZ 0003 0B5F:0015 B44C MOV AH,4C 0B5F:0017 CD21 INT 21 -
个完整汇编程序的基本框架: code SEGMENT ASSUME CS: code start: 程序主体部分 MOV AH,4CH;回DOS NT 21H code ENDS END start
code SEGMENT ASSUME CS: code start: … ;程序主体部分 ... ... ... MOV AH, 4CH ;返回DOS INT 21H code ENDS END start 一个完整汇编程序的基本框架:
DOS的装入功能(又称EXEC系统功能) ●可执行文件exe,应装入内存方能执行。 由DOS的装入功能完成。 ●在DOS的提示符后输入可执行文件的文件名, 按回车键,DOS系统即调用装入功能, 将可执行程序装入内存
DOS的装入功能 (又称EXEC系统功能) ⚫ 可执行文件.exe,应装入内存方能执行。 由DOS的装入功能完成。 ⚫ 在DOS的提示符后输入可执行文件的文件名, 按回车键,DOS系统即调用装入功能 , 将可执行程序装入内存
内存 磁盘 0000:0000H IKB中断向量表 引导程序 0040:0000 BIOS工作区 IO. SYS MSDOS. SYS DOS DOS工作区 IO.SYS模块 COMMAND. COM MSDOS.SYS模块 640KB RAM EDITEXE ComManD.coM常驻模块基本内存 MASM.EXE 其他 LINKEXE 系统 用户程序空间 DEBUG.exe 程序 ComMand.com暂驻模块 hello. asm A000:0000H hello. obj 128KB RAM hello.exe 应 显示器显示缓存区 保留区 用 C800:0000H scans. asm 程 cans. ob 序 ROM BIOS 256KB ROM scans. exe FE00:0000H FEOO: 1FFFH 系统检测程序
内 存 256KB ROM 0000:0000H 0040:0000H A000:0000H C800:0000H FE00:0000H FE00:1FFFH 640KB RAM 基本内存 显示器显示缓存区 ROM BIOS 系统检测程序 IO.SYS 模块 COMMAND.COM 常驻模块 MSDOS.SYS 模块 用户程序空间 COMMAND.COM 暂驻模块 DOS 工作区 BIOS 工作区 1KB 中断向量表 128KB RAM 保留区 DOS 其他 系统 程序 磁 盘 应 用 程 序 IO.SYS COMMAND.COM MSDOS.SYS 引导程序 EDIT.EXE MASM.EXE LINK.EXE DEBUG.exe hello.asm hello.obj hello.exe scans.asm scans.obj scans.exe