汇编语言(王爽)实验4

时间:2022-04-10 01:12:25

(1)编程,向内存0:200~0:23f依次传送数据0~63.

assume cs:code

code segment
mov ax,20H
mov ds,ax

mov bx,0
mov cx,64
s:
mov [bx],bl
inc bx
loop s

mov ax,4c00H
int 21H
code ends
end

(3)程序功能是将"mov ax,4c00h"之前的指令复制到内存0:200处,补全程序:

;只写关键代码
;
每次复制单字节数据,并通过al中转
;
程序入口为cs:0(ip=0),所以第一空处传递段地址为cs
;
接下来需要确定循环次数,即mov ax,4c00h之前的代码长度
;
而程序总代码长度可通过debug加载后通过u命令看出
;
先将第二空位随便设为1,加载后观察mov ax,4c00h之前代码为0000~0016h,总长度为23.
...
mov ax,cs
mov ds,ax
mov ax,0020h
mov es,ax
mov bx,0
mov cx,23

s:
mov al,[bx]
mov es:[bx],al
inc bx
loop s

mov ax,4c00h
...

 通过"u 0:200"查看如下图:

汇编语言(王爽)实验4