王爽《汇编语言》(第四版)第六章 检测点6.1

 

(1)下面的程序实现依次用内存 0:0~0:15 单元中的内容改写程序中的数据。

程序申请空间的段地址存放在段寄存器 CS 中,偏移地址为零,即起始地址为 CS:0、每次偏移地址移动两个字节大小。
题目要求使用 0:0~0:15 单元的内容改写程序中的数据,即使用 DS:0~ 的数据改写 CS:0~ 的内容。所以,缺失部分程序完成移动数据的功能,而 0:0~0:15 的数据已存放在寄存器 AX 中,所以缺失部分程序为 mov cs:[bx],ax。

assume cs:codesg
codesg segment
	dw 0123H,0456H,0789H,0abcH,0defH,0fedH,0cbaH,0987H
start:	mov ax,0
		mov ds,ax
		mov bx,0
		mov cx,8
	s:	mov ax,[bx]
		________	;mov cs:[bx],ax
		add bx,2
		loop s
		mov ax,4c00h
		int 21h
codesg ends
end start	

(2)下面的程序实现依次用内存 0:0~0:15 单元中的内容改写程序中的数据,数据的传送用栈进行

assume cs:codesg
codesg segment
	dw 0123H,0456H,0789H,0abcH,0defH,0fedH,0cbaH,0987H
	dw 0,0,0,0,0,0,0,0,0,0
start:	mov ax,__	;mov ax,cs
		mov ss,ax
		mov sp,__	;mov sp,36,即将 0:10h~0:24h 部分当作栈区使用
		mov ax,0
		mov ds,ax
		mov bx,0
		mov cx,8
	s:	push [bx]
		________	;pop cs:[bx]
		add bx,2
		loop s
		mov ax,4c00h
		int 21h
codesg ends
end start	

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值