世至其美

汇编 | 入门代码篇

assume 寄存器:段名           ;将寄存器和代码段联系一起
段名 segment                 ;一个段的开始
   ...
   ...
段名 ends                     ;一个段的结束

mov ax,4c00H                  ;程序返回
int 21H                        

end                           :标志整个程序结束

单任务操作系统的运行过程:

单任务:p1正在进行,p2在可执行文件中
p2—加载内存
CPU—交付控制权p2
p2运行,p1暂停
p2运行完毕,
CPU—交付控制权p1

执行步骤

  1. 在DosBox下,启动masm.exe,生成目标函数(.obj)
  2. 输入源文件(.asm)
  3. 输入目标文件(.OBJ),Enter跳过,默认(文件名.OBJ)
  4. 输入列表文件(编译器将源程序编译为目标文件过程产生的中间结果),Enter默认不生成
  5. 输入交叉引用文件(编译器将源程序译为目标文件过程产生的中间结果),Enter默认不生成
  6. 编译成功,生成目标文件(.obj)。
  7. 使用link.exe,将目标函数进行连接,从而得到可执行文件(.exe)
  8. 输入目标文件(.obj)
  9. 输入可执行的文件(.exe),Enter跳过,默认(文件名.exe)
  10. 输入连接程序提示输入映像文件的名称,(连接程序将目标文件连接为可执行文件过程中产生的中间结果),Enter默认忽略

     ![image.png](https://i.loli.net/2018/09/08/5b936d58d8a2b.png) 
  11. 输入连接程序提示输入库文件的名称,(库文件里面包含一些可调用的子程序),Enter默认忽略

     ![image.png](https://i.loli.net/2018/09/08/5b936d60d363b.png) 
  12. 连接成功,可忽略此警告,“没用栈段”。得到.exe可执行文件。

     ![image.png](https://i.loli.net/2018/09/08/5b936d653493a.png) 
    

源文件

assume cs:abc
abc segment
mov ax,2
add ax,ax
add ax,ax
mov ax,4c00H
int 21H
abc ends
end

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »