zoukankan      html  css  js  c++  java
  • 8089汇编 源程序

    8089汇编 源程序

    汇编程序:包含汇编指令和伪指令的文本。

    汇编语言由汇编指令和伪指令构成,想要组合成源程序进行编译就需要这么做。

    汇编指令

    • 对应有机器码的指令,可以被编译为机器指令,最终被CPU执行

    伪指令

    • 没有对应的机器码的指令,最终不被CPU所执行。
    • 指导编译器将汇编语言转换为机器码。

    源程序说明

    一、程序案例

    assume cs:codesg
    codesg segment
             mov ax,0123H
             mov bx,0456H
             add ax,bx
             add ax,ax
             mov ax,4c00h
             int 21h
    codesg ends
    end
    ;注释:”;“分号
    ;设置创建的段与寄存器关联 cs:code,ds:data,ss:stack
    assume cs:code,ds:data,ss:stack
    ;设置段 data 
    data segment
      dw 0123H,0456H,0789H,0abcH,0defH
    ;结束段 data 
    data ends
    ;设置段 stack 
    stack segment
      dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    ;结束段 stack 
    stack ends
    ;设置段 code 
    code segment
              mov ax,stack
              mov ss,ax
              mov sp,20h     ;设置栈段
              mov ax,data
              mov ds,ax       ;设置数据段
              mov bx,0
              mov cx,8
          s: push [bx]
              add bx,2
              loop s
              ....
    ;结束段 code
    code ends
    ;结束程序
    end
    
    源程序 说明
    二、代码解析

    1、含义

    段定义

    • 一个汇编程序是由多个段组成的,这些段被用来存放代码、数据或当作栈空间来使用。
    • 一个有意义的汇编程序中至少要有一个段,这个段用来存放代码。
    • 定义程序中的段:每个段都需要有段名。
    段名 segment ——段的开始
    ....
    段名 ends ——段的结束

    end (不是ends)

    • 汇编程序的结束标记。若程序结尾处不加end,编译器在编译程序时,无法知道程序在何处结束。

    assume(假设)

    • 含义是假设某一段寄存器和程序中的某一个用 segment … ends 定义的段相关联——assumecs:codesg指CS寄存器与codesg关联,将定义的codesg当作程序的代码段使用。

    2、说明

    3、源程序经编译连接后变为机器码

    源程序设计

    一、案例:编程求2的3次方

    复制代码
    ; ① 定义一个段
    abc segment
    abc ends
    ; ② 实现处理任务
    abc segment
            mov ax,2
            add ax,ax
            add ax,ax
    abc ends 
    ; ③ 指出程序在何结束
    abc segment
            mov ax,2
            add ax,ax
            add ax,ax
    abc ends
    end 
    ; ④ 段与段寄存器关联
    assume cs:abc
    abc segment
            mov ax,2
            add ax,ax
            add ax,ax
    abc ends
    end 
    ; ⑤ 加上程序返回的代码
    assume cs:abc
    abc segment
            mov ax,2
            add ax,ax
            add ax,ax
            mov ax,4c00h
            int 21h
    abc ends
    end 
    复制代码

    二、正规程序样式

  • 相关阅读:
    Java web 例4-7
    JavaScript初步+基本函数
    请求转发和重定向区别
    javaben的设计规则
    Java web 实验五 Servlet过滤器
    关于软件生命周期以及软件过程
    Java web outTime.jsp
    Java web 4-6 update_stu_1.jps
    include指令与动作,请求妆发等同于forward动作
    简单的购物车应用案例 相关代码2
  • 原文地址:https://www.cnblogs.com/liujunjun/p/12494116.html
Copyright © 2011-2022 走看看