4.1 一个源程序从写出到执行的过程

  1. 编写源程序, 使用记事本
    image.png
  2. 对源程序进行编译产生目标文件,连接程序生成可在操作系统直接运行的可执行文件
    image.png
  3. 执行文件, 将可执行文件中的机器码和数据加载进内存, 并进行相关设置, CS:IP执向第一条指令, 然后由cpu执行程序

    4.2 源程序

    汇编指令: 可以编译成机器码
    伪指令: 由编译器来执行的指令 ``` assume cs:codesg; 4.段与cs寄存器连接起来

codesg segment; 1.伪指令,定义一个段的开始

start: mov ax,0123H mov bx,0456H add ax,bx add ax,ax

  1. mov ax,4c00H
  2. int 21H; 3.程序返回,mov ax,4c00H 也是返回

codesg ends; 1.一个程序由一个段或多个段

end; 2.结束对源程序的编译,注意和ends区分,这个end是对全部程序的结束 ``` image.png
codesg是个标号,最终编译后悔处理成一个段的段地址

4.3 编辑源程序

使用任何编辑器编辑都行

4.4 编译

masm编译器进行编译

4.5 连接

使用连接器link进行连接

4.6 简化方式编辑和连接

masm c:\1

4.7 可执行文件中程序装入内存并运行的原理

image.png
image.png

4.8 程序执行过程的跟踪

debug命令
cx存放的是程序的长度
ds存放程序所在内存区的段地址, 偏移地址是0
这个内存前256个字节存放的是PSP, dos用来和程序通讯, 256个字节之后就是程