zoukankan      html  css  js  c++  java
  • 实验四

    三:

    任务1:

    输入代码:

     1 assume cs:code
     2 code segment
     3 mov ax,0b800h
     4 mov ds,ax
     5 mov bx,07b8h
     6 mov cx,16
     7 s:mov [bx],0403h
     8 add bx,2
     9 loop s
    10 mov ax,4c00h
    11 int 21h
    12 code ends
    13 end

    运行结果如下:

    符合最终结果要求

    // 修改0403h->0441h后 变化为

    实验任务2:

    综合使用loop [bx],编写完整汇编源程序,实现向内存0:200-0:23f依次传送数据0-3fh

    代码:

    assume cs:code
    code segment
    mov ax,0
    mov ds,ax
    mov bx,200h
    mov cx,64
    s:mov [bx],ax
    add ax,1
    add bx,1
    loop s
    mov ax,4c00h
    int 21h
    code ends
    end

    实验结果:

    程序使用t p命令执行

    用g命令执行  (cx-2)为执行到int 21 前的代码段长度

    实验结果是一样的

    实验任务3:

    先输入代码 因为是复制汇编代码 所以段地址设为cs

    同时因为不知道cx长度 先设置为0

    在debug中观察到cx001a 所以cx为1ch

    代码如下:

    assume cs:code
    code segment
    mov ax,cs
    mov ds,ax
    mov ax,0020h
    mov bx,0
    mov cx,1ah
    s:mov al,[bx]
    mov es:[bx],al
    inc bx
    loop s
    mov ax,4c00h
    int 21h
    code ends
    end

    反汇编观察代码

    用t p命令执行

    用d命令查看确实写入代码

    总结:

    cx放的是代码段的长度,可以事后观察cx值

    对于代码段和数据段等不同概念的区分更加明确了,对不同寄存器的作用更加清楚

  • 相关阅读:
    音律入门
    [转]MIDI常识20条
    Java使用代理服务器
    java8日期时间
    误删课表系统
    Uncaught Error: Bootstrap tooltips require Tether (http://github.hubspot.com/tether/)
    SpringBoot应用部署[转]
    如何学习新技术
    Maven使用archetype迅速生成项目骨架
    两个月打工总结
  • 原文地址:https://www.cnblogs.com/masami/p/9985418.html
Copyright © 2011-2022 走看看