汇编语言:实验10 根据材料编程—1.显示字符串
生活随笔
收集整理的這篇文章主要介紹了
汇编语言:实验10 根据材料编程—1.显示字符串
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
問題描述
顯示字符串是現實工作中經常要用到的功能,應該編寫一個通用的子程序來實現這個功能。
我們應該提供靈活的調用接口,使調用者可以決定顯示的位置(行、列)、內容和顏色。
實驗效果
將字符串展示到8行3列黑底藍字。
實驗要求
子程序描述
名稱:show_str
功能:在指定的位置,用指定的顏色,顯示一個用0結束的字符串。
參數:(dh)行號(取值范圍0~24),(dl)=列號(取值范圍0~79),
(cl)=顏色,ds:si指向字符串的首地址
返回:無
實驗代碼
;實驗10 問題1 顯示字符串 ;顯示字符串是現實工作中經常要用到的功能,應該編寫一個通用的子程序來實現這個功能。 ;我們應該提供靈活的調用接口,使調用者可以決定顯示的位置(行、列)、內容和顏色。 assume cs:codedata segmentdb 'Welcome to masm!',0 data endscode segment start:mov dh,8mov dl,3mov cl,2;源地址mov ax,datamov ds,axmov si,0call show_strmov ax,4c00hint 21h;名稱:show_str;功能:在指定的位置,用指定的顏色,顯示一個用0結束的字符串。;參數:(dh)行號(取值范圍0~24),(dl)=列號(取值范圍0~79),; (cl)=顏色,ds:si指向字符串的首地址;返回:無show_str:push axpush bxpush cxpush dxpush espush sipush di;顯存起始位置,目的地址mov ax,0b800Hmov es,ax;計算di,di = dh*160+dl*2,ax 、bx、di 沒有用戶數據被占用 可以進行使用;mov di,(dh)*160+(dl)*2mov al,dhmov ah,0mov bl,160mul blmov di,axmov al,dlmov ah,0mov bl,2mul bladd di,axmov dl,cl ;存放顏色str_set:mov cl,ds:[si]mov ch,0jcxz show_ok ;控制結束條件mov ax,ds:[si]mov es:[di],ax ;設置字母mov es:[di+1],dl;設置顏色add di,2inc sijmp short str_setshow_ok:pop dipop sipop espop dxpop cxpop bxpop axret code ends end start
總結
以上是生活随笔為你收集整理的汇编语言:实验10 根据材料编程—1.显示字符串的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c# 轻量级ORM框架 实现(一)
- 下一篇: jQuery中的跨域问题