汇编语言笔记实验9根据材料编程

汇编语言笔记实验9根据材料编程

0x00 任务一

QQ截图20200601170111

QQ截图20200601170126

QQ截图20200601170137

QQ截图20200601170158

​ 这个实验难度不大,但比较坑爹,就是如果你想先写入第一行试试,你会发现不显示,因为dosbox不能全屏,前面几行与后面几行无法现实,所以必须写在中间几行,代码如下:

assume cs:code,ds:data,ss:stack
data segment
	db 'welcome to masm!'
	db 01000010b,01001010b,01110001b;红底绿字 红底高亮绿字 白底蓝字
data ends
stack segment
	db 16 dup (0)
stack ends
code segment
start:	mov ax,0b800h
	mov es,ax
	mov ax,data
	mov ds,ax
	mov ax,stack
	mov ss,ax
	mov sp,10h
	mov di,0; di用来记录颜色顺序
	mov bp,2240;表示data bp 表示 行 si表示列  14行首地址偏移2240 15行2400 16行 2560
	mov cx,3;三行大循环
s0:	push cx
	mov cx,16
	mov si,0
	mov bx,0
s1:	mov al,ds:[bx]
	mov es:[bp+si+72],al;加72是为了剧中 不从第一列写起
	inc si
	mov al,ds:[di+16]
	mov es:[bp+si+72],al
	inc si
	inc bx
	loop s1
	pop cx
	add bp,160
	inc di
	loop s0
		
	
	mov ax,4c00h
	int 21h
code ends
end start

​ 运行结果如下:

QQ截图20200601170428