zoukankan      html  css  js  c++  java
  • 汇编笔记(2) 多个段

    ;计算a段中各个内存值加上b段各个内存值后存放到c段中
    assume cs:code a segment db 1,2,3,4,5,6,7,8 a ends b segment db 1,2,3,4,5,6,7,9 b ends c1 segment db 0,0,0,0,0,0,0,0 c1 ends code segment s: mov ax,a mov ds,ax ;use ds point to a seg mov ax,c1 mov es,ax ;use es point to c seg mov cx,4 mov bx,0 p1: mov ax,[bx] mov es:[bx],ax add bx,2 loop p1 mov ax,b mov ds,ax ;use ds to point b seg mov cx,4 mov bx,0 p2:mov ax,[bx] add es:[bx],ax add bx,2 loop p2 mov ax,4c00h int 21h code ends end s

    (1)ds:[bx]所指向的物理地址即可读也可写;

    (2)可以通过定义的段的标号作为该段的引用地址

    可以手动指定数据段和栈段的位置:

    assume cs:codeseg,ss:b,ds:a ;注意:这里虽然这么写,但是CPU不会直接把b当成栈,把a当成数据段,还是需要手动指定
    a segment
        dw 1,2,3,4,5,6,7,8,9,0ah,0ch,0dh,0eh,0fh,0ffh
    a ends
    
    b segment
        dw 0,0,0,0,0,0,0,0
    b ends
    
    codeseg segment
    start:
        mov ax,a
        mov ds,ax ;use ds to point to a seg
        
        mov ax,b
        mov ss,ax ;use ss to point to b seg,make b seg as a stack
        mov sp,16
        mov bx,0
        
        mov cx,8
    s:
        push [bx]
        add bx,2
        loop s
        
        mov ax,4c00h
        int 21h
        
    codeseg ends
    
    end start
  • 相关阅读:
    Django第一天
    约束条件 表之间的关系
    数据类型
    初始vue
    JQ事件和事件对象
    Jquery的属性操作和DOM操作
    浏览器对象BOM
    Swiper实现全屏视觉差轮播
    Swiper开篇
    JSON
  • 原文地址:https://www.cnblogs.com/at0x7c00/p/8922931.html
Copyright © 2011-2022 走看看