汇编实验十编写子程序

Posted alexanders

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了汇编实验十编写子程序相关的知识,希望对你有一定的参考价值。

第一题,显示字符串,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

效果如下::

技术图片

 

以上是关于汇编实验十编写子程序的主要内容,如果未能解决你的问题,请参考以下文章

汇编实验十:编写子程序

汇编语言(王爽) 实验十一

汇编语言——实验十三

汇编语言——实验十一

windlx汇编语言编写C程序,实验二熟悉DLX汇编语言编程.PDF

实验2 汇编源程序编写与汇编调试