4.《汇编语言》-王爽第三版学习笔记 第一个程序

  1. 汇编程序从写出到执行的过程


    9E23019E-2637-4FED-B46F-1B24C2743B0E.png
  • 源程序: t1.asm
assume cs:codesg
codesg segment

    mov ax,2000H
    mov ss,ax
    mov sp,0
    add sp,10
    pop ax
    pop bx
    push ax
    push bx
    pop ax
    pop bx

    mov ax,4c00H
    int 21H

codesg ends

end
  • 编译


    F692AEBB-E711-46AA-BDBC-20CF03F63D2B.png
  • 连接


    62323695-E862-4176-AAB2-C2C9628D5491.png
  • 运行


    0775C36E-99B8-451E-9299-653E89FE7DAA.png

2.EXE 文件程序加载过程


95CCED25-E419-44DC-9F2A-5CBACAE372A3.png
  • 程序加载后,ds中存放着程序所在内存区的地址,这个内存区的偏移地址为0,则程序所在的内存区的地址为 ds:0
  • 这个内存区的前256个字符存放的是 PSP ,DOS用来和程序进行通信,从256字节后的空间存放的是程序。
    因为 PSP 占256(100H)字节,所以程序的物理地址是:
    SA * 16 + 0 + 256 = (SA + 16)* 16
    可用段地址和偏移地址表示为: SA + 10H :0

你可能感兴趣的:(4.《汇编语言》-王爽第三版学习笔记 第一个程序)