最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

匯編語言顯示功能實(shí)現(xiàn)教程詳解

 更新時間:2021年11月04日 16:10:11   作者:LyncDwight  
這篇文章主要為大家介紹了匯編語言顯示功能的實(shí)現(xiàn)過程,文中通過問題實(shí)例分析來為大家進(jìn)行詳細(xì)的描述講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助

問題1

在屏幕中間分別顯示綠底,綠底紅色,白底藍(lán)色的字符串“Welcome to masm!”

分析:

1 如何確定字符要顯示的位置

在80*25的彩色字符模式顯示緩沖區(qū)在內(nèi)存地址的B8000H~BFFFFH共32KB的空間中

在該模式下,顯示器可以顯示25行,80列

所以在一行中就有80個字符,共占據(jù)160個字節(jié),每個字符低位字節(jié)存儲字符的ASCII碼,高位字節(jié)存儲字符的顏色屬性

偏移0000~009F對應(yīng)的就是顯示器上的第一行;

偏移0A00~13F0對應(yīng)的就是顯示器上的第二行;......依次類推

確定3行字符在每一行的起始位置

因?yàn)轱@示的在屏幕的中間,共需要32個字節(jié),屏幕中一行共160個字節(jié),所以開始字節(jié)為(160 - 32)/ 2 = 64

確定3行字符在屏幕中的哪一行

因?yàn)槠聊恢幸还?5行,要顯示3行字符串,一行有160個字符串,則第一行的開始位置是(25 - 3)/ 2 * 160 = 6E0H

第二行的開始位置是6E0H + 160 = 780H

第三行的開始位置是780H + 160 = 820H

2 如何確定字符要顯示的顏色屬性

每個字符的顏色屬性占據(jù)一個字節(jié),每一位表示的不同的顏色屬性,則共有256種顏色屬性

屬性字節(jié)的格式:

7        (6  5  4)    3    (2  1  0)

BL   (R G B)  I   (R G B)

閃爍    背景    高亮      前景

綠底黑色:0 010 0 000B (20H)

綠底紅色:0 010 0 100B (42H)

白底藍(lán)色:0 111 0 001B (71H)

assume cs:code,ds:data
data segment
	db 'Welcome to masm!'	
data ends
 
code segment
start:		        mov ax,data
			mov ds,ax
			mov bx,0			;ds:bx指向數(shù)據(jù)段起始位置
 
			mov ax,0B800H	
			mov es,ax			;設(shè)置顯示內(nèi)存空間的起始位置
 
			mov si,64			;設(shè)置字符串在一行中的中間位置
			
			mov cx,16			;設(shè)置循環(huán)的次數(shù)為字符串的長度
 
s:			mov al,ds:[bx]		
			
			mov ah,20H			;設(shè)置第一行的開始位置和顏色
			mov es:[si+6E0H],ax
			
			mov ah,42h			;設(shè)置第二行的開始位置和顏色
			mov es:[si+780H],ax
			
			mov ah,71h			;設(shè)置第三行的開始位置和顏色
			mov es:[si+820H],ax
 
			inc bx 				;設(shè)置字符串的偏移
			add si,2			;設(shè)置下一次循環(huán)的寫入位置
 
			loop s
 
			mov ax,4c00h
			int 21h
 
code ends
end start

 問題2:

設(shè)計(jì)一個子程序,使調(diào)用者決定顯示的位置,內(nèi)容和顏色

分析:

要實(shí)現(xiàn)的功能:在指定的位置,用指定的顏色,顯示一個用0結(jié)束的字符串

指定的參數(shù):行號-dh(取值范圍0~24),列號-dl(取值范圍0~79),取值范圍主要是根據(jù)顯示器屏幕的大小

顏色-cl,ds:si指向字符串的首地址

assume cs:code,ds:data
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指向數(shù)據(jù)段首地址 
			call show_str
 			mov ax,4c00h
			int 21h 
show_str:	        mov ax,0B800H
			mov es,ax		;es指向顯示內(nèi)存空間的段地址 
			mov ax,160
			dec dh
			mul dh
			mov dh,0
			dec dl
			add dl,dl
			add ax,dx
			mov di,ax		;設(shè)置di指向字符串要顯示的偏移地址
			mov ah,cl 
show:		        mov cx,ds:[si]
			jcxz ok			;設(shè)置在遇到字符0的時候退出
			mov al,ds:[si]
			mov es:[di],ax
			add di,2
			inc si
			loop show 
ok:			retf
code ends 
end start

以上就是匯編語言顯示功能實(shí)現(xiàn)問題實(shí)例詳解的詳細(xì)內(nèi)容,更多關(guān)于匯編語言顯示功能的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • asm基礎(chǔ)——匯編指令之in/out指令

    asm基礎(chǔ)——匯編指令之in/out指令

    這篇文章主要介紹了asm基礎(chǔ)——匯編指令之in/out指令,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • libAccessibility通知Crash排查記錄分析

    libAccessibility通知Crash排查記錄分析

    這篇文章主要為大家介紹了libAccessibility通知Crash排查記錄分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • 匯編語言程序設(shè)計(jì)之根據(jù)輸入改變屏幕顏色的代碼

    匯編語言程序設(shè)計(jì)之根據(jù)輸入改變屏幕顏色的代碼

    這篇文章主要介紹了匯編語言中的根據(jù)輸入改變屏幕顏色的代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03
  • os_object_release Crash 排查記錄分析

    os_object_release Crash 排查記錄分析

    這篇文章主要為大家介紹了os_object_release Crash 排查記錄分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • 匯編語言指令mov、add、sub、jmp詳解

    匯編語言指令mov、add、sub、jmp詳解

    這篇文章主要介紹了匯編語言指令mov、add、sub、jmp詳解,非常不錯,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • DEBUG命令詳解教程

    DEBUG命令詳解教程

    DEBUG命令詳解教程...
    2007-03-03
  • Windows10下利用DOSBOX和MASM32搭建匯編語言開發(fā)環(huán)境

    Windows10下利用DOSBOX和MASM32搭建匯編語言開發(fā)環(huán)境

    這篇文章主要介紹了Windows10下利用DOSBOX和MASM32搭建匯編語言開發(fā)環(huán)境,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-01-01
  • 匯編語言AND指令實(shí)現(xiàn)對兩個操作數(shù)進(jìn)行邏輯(按位)與操作

    匯編語言AND指令實(shí)現(xiàn)對兩個操作數(shù)進(jìn)行邏輯(按位)與操作

    這篇文章主要介紹了匯編語言AND指令實(shí)現(xiàn)對兩個操作數(shù)進(jìn)行邏輯(按位)與操作,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • 匯編語言之實(shí)現(xiàn)發(fā)出各種聲音

    匯編語言之實(shí)現(xiàn)發(fā)出各種聲音

    本文給大家分享一個練手小項(xiàng)目,響鈴設(shè)計(jì)項(xiàng)目,列出了響鈴,機(jī)槍聲音,音樂播放器的代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2021-11-11
  • 匯編實(shí)現(xiàn)直接插入排序的方法示例

    匯編實(shí)現(xiàn)直接插入排序的方法示例

    這篇文章主要介紹了匯編實(shí)現(xiàn)直接插入排序的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02

最新評論

襄汾县| 逊克县| 鲜城| 南靖县| 宁海县| 安陆市| 安福县| 桐柏县| 洪江市| 宁明县| 桑日县| 牟定县| 武平县| 长子县| 华宁县| 察雅县| 大埔县| 大名县| 宣汉县| 西乌珠穆沁旗| 雅江县| 金坛市| 正宁县| 屏山县| 辽宁省| 积石山| 会昌县| 易门县| 大宁县| 宁津县| 布拖县| 斗六市| 开原市| 老河口市| 曲周县| 蚌埠市| 大新县| 九寨沟县| 台南市| 奈曼旗| 丰城市|