标签:9.png src tar blog loop masm 王爽 分享 cal
实验要求:
在屏幕的8行3列,用绿色显示data段中的字符串。
data段的数据: ‘welcome to masm!’,0
实验分析:
建立在实验九的基础上。
定位:8行3列。
输出:只能输出welcome to masm!
寄存器太多,不能重用。
解决第一个问题:di为屏幕上的位置。dh存的行,dl存的是列
解决第二个问题:loop循环退出的条件是cx寄存器为0
把data段传入cx。如果是0。退出。
1 assume cs:code 2 data segment 3 db ‘Welcome to masm!‘,0 4 data ends 5 6 code segment 7 start: 8 mov dh,8 9 mov dl,3 10 mov cl,2 11 mov ax,data 12 mov ds,ax 13 mov si,0 14 call show_str 15 16 mov ax,4c00h 17 int 21h 18 show_str: 19 mov bx,cx 20 21 mov ax,data 22 mov ds,ax 23 24 mov ax,0b800h 25 mov es,ax 26 27 mov al,160 28 mul dh 29 30 add dl,dl 31 mov cl,dl 32 mov ch,0 33 34 add ax,cx 35 mov di,ax 36 37 38 s: 39 mov ch,0 40 mov cl,ds:[si] 41 jcxz brk 42 mov al,ds:[si] 43 mov ah,bl 44 mov es:[di],ax 45 inc di 46 inc di 47 inc si 48 loop s 49 50 51 brk: 52 ret 53 54 code ends 55 end start
实验虽然很简单。但是我做了一个小时。
我爱学习!我不爱玩狼人杀
标签:9.png src tar blog loop masm 王爽 分享 cal
原文地址:http://www.cnblogs.com/zhenzhenhuang/p/6891499.html