【汇编】开始第一个用汇编语言写的程序

记录 2017-01-17 1 条评论 访问: 6,479 次

Let's get our hands wet now! 先来感性的认识一下汇编,以及怎么用汇编语言写程序。

1.asm

assume cs:code
code segment
    mov ax,2
    mov cx,11
  s:add ax,ax
    loop s
    mov ax,4c00h
    int 21h
code ends
end

这个程序的功能是计算2的12次方
之后我们可以用 masm.exe 这个汇编编译器来编译我们的源文件,生成一个1.obj。再用 link.exe 连接器链接,最后生成1.exe。这里说明一下代码。

定义段

段名 segment
...
段名 ends

segment 和 ends 成对使用。用来定义一个段,一个可被编译的汇编源码必须包含一个段。

asume

asume cs:段名

这条指令假设某一段寄存器和程序中某一个用 segment...ends 定义的段相关联。通过 assume 说明这种关联。 assume 并不是一条非要深入理解不可的伪指令,以后我们记着用 assume 将有特殊用途的段和相关的段寄存器关联起来即可。
一个程序运行后,要将cpu控制权交给之前使得它运行的程序。这个过程叫做:程序返回。如何返回?就是最后那两条指令mov ax,4c00hint 21h。目前阶段我们只要知道这两条指令能实现返回功能就好。(其实我也不知道)

loop

cx 寄存器与 loop 结合使用。
loop的使用框架

mov cx,循环次数
s:循环执行的程序段
loop s

很像goto命令的感觉对吧!


除非注明,嗯VIEW文章均为原创,转载请以链接形式标明本文地址
本文地址:https://www.umview.com/assembly-language-1

本文由 Mark 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

只有地板了

  1. umview.com
    umview.com

    厉害了word哥,,,,汇编

添加新评论