汇编实验十编写子程序

第一题,显示字符串,8行3列显示Welcome to masm!

assume cs:code
data segment
db ‘Welcome to masm!’,0
data ends
code segment
start:
mov dh,8;行号
mov dl,3;列号
mov cl,2;颜色
mov ax,data
mov ds,ax
mov si,0 ; ds:si 指向字符串首地址
call show_str

mov ax,4c00h
int 21h
show_str:
add dl,dl;因为一字符占两字节,列*2
mov al,160
mul dh ;ax中存行字节数
mov dh,0 ;为使列字节数加到行上高位清零
add ax,dx;其实也可以写成add al,dl就不用了清零

mov bx,ax;bx指向目的地址
mov ax,0b800h
mov es,ax
mov ch,0 ;若把颜色加到ch,jcxz就无法正常执行
mov al,cl;通过al,附加颜色
change:
mov cl,ds:[si]
mov byte ptr es:[bx],cl;第一个字符转移
jcxz ok;判断

inc bx
mov es:[bx],al;将颜色加到第二个字节
inc si
inc bx
jmp short change;跳转回change
ok: ret;跳转回mov ax,4c00h

;总结,本题考查了有条件跳转的应用,显示缓存区,编写子程序,

code ends
end start

效果如下::

汇编实验十编写子程序

Original: https://www.cnblogs.com/alexanders/p/12947809.html
Author: AlexanderOscar
Title: 汇编实验十编写子程序

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/644139/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球