王爽《汇编语言第三版》实验10-1代码实现
;編寫一個通用的子程序實現(xiàn)這個顯示字符串的功能,提供靈活的調用接口,使調用者
;可以決定顯示的位置,內容,顏色
assume cs:code,ss:stack,ds:data
data segment
??????? db 'welcome to masm!',0 ;要顯示的字符串
data ends
stack segment
??????? db 128 dup (0)
stack ends
code segment
?start: mov dh,23??? ;行數(shù)
??????? mov dl,10??? ;列數(shù)
??????? mov cl,4???? ;顏色
??????? mov ax,data
??????? mov ds,ax
??????? mov ax,stack
??????? mov ss,ax
??????? mov sp,128
??????? mov si,0
??????? call show_str
??????? mov ax,4c00h
??????? int 21h
;------------------------------
?show_str:
??????? push cx
??????? push dx
??????? mov bx,0b800h??? ;顯示地址
??????? mov es,bx
;---------------------------------
??????? sub dh,1??????? ?
??????? mov al,160
??????? mul dh
??????? mov di,ax?? ??? ? ;行偏移
??????? sub dl,1
??????? mov al,2
??????? mul dl?? ??? ??? ? ;列偏移
??????? add di,ax?? ??? ? ;行偏移+列偏移
;-------------------------------------
??????? mov dh,cl??????? ;將顏色cl賦予dh? ?
?
?s:???? mov cl,ds:[si]?? ? ;將字符傳給cl
??????? mov ch,0?? ??? ? ;在cx為0時跳出循環(huán)
??????? mov dl,cl??????? ;字符
??????? mov es:[di],dx?? ? ;字符+顏色傳遞到顯示位置
??????? inc si?? ??? ??? ? ;調用下一個字符
??????? add di,2?? ??? ? ;顯示下一個字符
?
??????? jcxz ok?? ??? ??? ? ;當cx為0時結束循環(huán),字符最后一個為0
??????? loop s
? ok:?? pop dx
??????? pop cx
??????? ret?? ??? ??? ??? ? ;返回到主函數(shù)
code ends
end start
轉載于:https://www.cnblogs.com/xautxuqiang/p/5478282.html
總結
以上是生活随笔為你收集整理的王爽《汇编语言第三版》实验10-1代码实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么情况下会用到try-catch
- 下一篇: ViewPager 详解(五)-----