汇编语言 王爽 第四版 第六章 检测点6.1

汇编语言 王爽 第四版 课后检测点 课后实验 持续更新~~

检测点6.1

1

下面的程序实现依次用内存0:0~0:15单元中的内容改写程序中的数据,完成程序:

assume cs:codesg
codesg segment 

	dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h;ip为0,2,4,6,8..

start:	mov ax,0
		mov ds,ax;ds设置为0
		mov bx,0

		mov cx,8;8次循环
s:		mov ax,[bx]
    	___;填写的地方,应该填写`mov cs:[bx],ax`
		add bx,2
		loop s

		mov ax,4c00h
		int 21h

codesg ends
end start

填写mov cs:[bx],ax,因为我们需要把0:0~0:15复制到cs:0~cs:15上,刚好用bx来做位移下标,字所占2字节,所以bx每次加2

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,___;应该填cs,因为栈空间被放到了程序的开头进行声明
		mov ss,ax;设置ss的值
		mov sp,___;设置sp的值,应该填24h,因为前面还有8个字,即16字节,栈顶是往高位 数,而且栈里面有10个字节
		
		mov ax,0;
		mov ds,ax;ds为0
		mov bx,0;bx用做下标
		mov cx,8;循环8次

s:		push [bx];把0:[bx]入栈
		pop cs:___;这里应该赋值给cs:[bx],所以填写[bx]
		add bx,2
		loop s 

		mov ax,4c00H
		int 21h

codesg ends
end start

依次填写:

cs,24h,[bx],解释在注释中

  • 17
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值