汇编语言笔记实验9根据材料编程
汇编语言笔记实验9根据材料编程
0x00 任务一
这个实验难度不大,但比较坑爹,就是如果你想先写入第一行试试,你会发现不显示,因为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
运行结果如下: