实验 四 [bx]和loop的使用

2023-03-18,,

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

实验 四 [bx]和loop的使用的相关教程结束。

《实验 四 [bx]和loop的使用.doc》

下载本文的Word格式文档,以方便收藏与打印。