• 实验 四 [bx]和loop的使用


    1. 综合使用 loop,[bx],编写完整汇编程序,实现向内存 b800:07b8 开始的连续 16 个 字单元重复填充字数据0403H。

    代码 

    assume cs:code
    code segment
    mov ax,0b800h
    mov ds,ax
    mov bx,07b8h
    mov cx,16
    s:mov [bx],0403h
    add bx,2
    loop s
    mov ax ,4c00h
    int 21h
    code ends
    end

    2. 综合使用 loop,[bx],编写完整汇编源程序,实现向内存 0:200~0:23F 依次传送数据 0~63(3FH)。

    (1)必做:综合使用loop, [bx], mov实现

    (2)选做*:利用栈的特性,综合使用 loop,push 实现(限定仅使用 8086 中已学过 指令实现)

    (1)代码

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

    (2)代码

    assume cs:code
    code segment
         mov ax,0020h
         mov ss,ax
         mov sp,40h
         mov bh,3fh
         mov bl,3eh
         mov cx,20h
    s:push bx
      add bh,-2
      add bl,-2
        loop s
      mov ax,4c00H
      int 21H
    code ends
    end

    3. 教材实验4(3)(P121)

    第一空:cs

    第二空:0017h

    代码:

     assume cs:code

    code segment
    mov ax,cs          cs段寄存器中存储的是指向程序代码段的段地址。此实验是将程序的代码(按字节)复制,故将cs寄存器中的指向代码的段地址赋值给ax,再通过ax寄存器赋值给ds段寄存器。
    mov ds,ax
    mov ax,0020H
    mov es,ax
    mov bx,0
    mov cx,0017H     mov ax,4cooh/int 21h它们共占用了5个字节。所以在本实验中我们需要复制的代码字节数是001CH-0005H=0017H
    s:mov al,[bx]
    mov es:[bx],al
    inc bx
    loop s
    mov ax,4c00H
    int 21H
    code ends
    end

  • 相关阅读:
    Linux Ubuntu安装Mysql5.7
    Linux Ubuntu安装maven3.3.9
    Linux Ubuntu安装tomcat9
    Linux Ubuntu安装JDK1.8
    Win10 U盘安装ubuntu16.04 LTS 双系统
    Linux Mysql5.7 常用语句与函数
    在Linux CentOS 6.6上安装Python 2.7.9
    CentOS6下docker的安装和使用
    How to Install Apache Solr 4.5 on CentOS 6.4
    SpringBoot的日志管理
  • 原文地址:https://www.cnblogs.com/zc-de-blog/p/10004523.html
Copyright © 2020-2023  润新知