zoukankan      html  css  js  c++  java
  • 汇编语言如何取段地址的

    mov ax,1000hmov ds,axmov [0],cs 我不明白他是如何取段地址的,为什么会取DS段的地址

    --

    代码段(code段)的段基址是有CPU自动装入cs段寄存器中,数据段(ds段)和堆栈段(ss段)的段基址要人为在assume指令后装入,
    例如要装入数据段的段基址可以用
    MOV AX,DATA
    MOV DS,AX
    这么两条语句读出并保存在都是段寄存器中

    下边是一段程序,请自己对照查看方法
    DATA SEGMENT ;数据段定义

    INDAT DB 8

    DATA ENDS

    CODE SEGMENT ;代码段定义

    ASSUMECS:CODE,DS:DATA

    START:

    MOV AX,DATA

    MOV DS,AX ;初始化DS,也就是将数据段的基地址读入DS寄存器中

    MOV DL,INDAT

    OR DL,30H

    MOV AH 2

    INT 21H

    MOV DL,'D'

    MOV AH,2

    INT 21H

    MOV AH,4CH

    INT 21H

    CODE ENDS
  • 相关阅读:
    MATLAB accumarray
    函数rand,randn,randi
    bsxfun
    sub2ind函数
    MAX
    & 和 &&
    matlab函数int2str, num2str, str2num
    ASCII对照表
    STM32的ADC配置
    单节锂电池基本知识
  • 原文地址:https://www.cnblogs.com/Ph-one/p/7831117.html
Copyright © 2011-2022 走看看