彙編寫入視訊記憶體0b800的資料無法顯示

時間 2023-02-17 00:35:04

1樓:做而論道

b800:0的內容根本不是0257(輸出綠色w字母),跪求高手解釋……

b800:0的內容,位置是螢幕的左上角。

輸出綠色w字母之後,再用 debug 操作,螢幕就滾動,螢幕的左上角,就不是綠色w字母了。

b800:0的內容,顯然就不是0257了。

2樓:匿名使用者

用debug執行連線後的exe檔案,再輸入g命令就ok了。

3樓:網友

cls再執行,兄弟我和你的程式很接近。

4樓:網友

除錯的時候最好不要使用最上面的行,要不你程式除錯的時候,容易滾到螢幕外,你就看不到了。。。

彙編 無法修改視訊記憶體中的內容

5樓:網友

視訊記憶體中(b800h:0)已經改變,只是你看不到而已。

你在 mov ax,4c00h

int 21h

前面添上兩句,就能看到結果:

方案一,添上。

mov ah,1

int 21h

方案二,添上。

mov ah,0

int 16h

為什麼在b800:0000處寫入資料不顯示 30

6樓:豎子求明

會不會是不同型號的機子對應的顯示的記憶體地址空間就不一樣啊,我的就是b8000h--bffffh是視訊記憶體的空間。

用組合語言把這個數3753000寫入視訊記憶體 顯示在那個masm黑框上 我是用下面的方法寫的 不知道哪錯了顯示不出來

7樓:匿名使用者

個人認為 有兩個問題 !

第一個是 不能顯示的問題?之所以用問號 是因為其實是可以顯示的!只不過由於刷了1屏,所以就看不到了!問題在這裡:

mov di,0

也就是說你寫入視訊記憶體的位置是b8000 dos介面上的第一行!

但是mov ax,4c00h

int 21h

程式返回 螢幕向上翻了一屏(行) 自然你就看不見了!!!解決方法 di>250(不確定自己試試) 或者 不讓程式返回。

還有一個問題是。

數字顯示問題 ,最好有 字串 不然就除十取餘 +30h

求助:在b800:0000處寫入資料但螢幕上沒有顯示...

8樓:文刀舍予

是不是沒有設定好顯示模式啊?不同的顯示模式的現存好像不一樣。

9樓:網友

按理說它模擬pc,應該和一臺真正的pc沒什麼區別,建議你查msdn。

彙編的幾個問題。希望大牛回答,1.就是在寫視訊記憶體 b800的時候 裡面的 12*160+40*2都是什麼

10樓:做而論道

這程式,顯示出來一串 !。

加上幾行,可以正確退出。

assume cs:code

code segment

start:mov ax,0b800h

mov es,ax

mov cx,100

mov si,12*160+40*2

s: mov byte ptr es:[si],'

add si,2

loop s

mov ah, 01h

int 21h

mov ah, 4ch

int 21h

code ends

end start

組合語言用debug寫到視訊記憶體中的問題

11樓:做而論道

視訊記憶體、螢幕,兩者,是同步的。

你在視訊記憶體填寫後,當場,就顯示在螢幕上了。

當你用 d 檢視時,螢幕內容,就有了變動,視訊記憶體裡面,也就變了。

這時你看到的視訊記憶體內容,就不是你所填充的內容。

12樓:匿名使用者

最好在純dos環境下實驗。

裝個虛擬機器吧。

13樓:匿名使用者

這段記憶體可能被別的程式使用了。

最近在看王爽的彙編,但向視訊記憶體寫資料後,連結出的.exe檔案一閃而過,不顯示字元啊,哪位大俠指點一下 !

14樓:匿名使用者

呵呵,朋友我也學過他的書,也見過你這種情況,只是現在我有點忘了,你沒有註冊他上面說的那個論壇嗎?我建義你在那上面去看,我記得不太清楚了,好象是你不要用視訊記憶體最前面的那個空間用中間一點的就看得到了。

組合語言微控制器,組合語言怎麼寫入微控制器

rlc 是帶進位的迴圈左移,rlc a即將a的內容左移一位,將進位位c中的值移到累加器a的最低位,a的最高位移到c裡。譬如說 設a 01000001,c 1 則如果執行rl 則a 10000010,c 1 a所有位左移一位,最低位補零,c不參加移位操作,保持原值不變 如果執行rlc後,則a 1000...

不會組合語言可以編寫遊戲嗎,不會組合語言可以編寫遊戲嗎???

用匯編寫遊戲?你不覺得累啊!遊戲一般都是c 寫的,一些對速度要求特別高的關鍵 才會用匯編寫,數量很少的。 彙編寫系統,有人那來寫遊戲?有那種水平用匯編寫大程式的話就不會去寫遊戲了,大才小用,想寫遊戲用vc delphi或其他高階語言就可以了,最好買點遊戲程式設計的書來看會對你有幫助的。 其實只要你願...

用組合語言編寫程式計算5 10

超級花生 dseg segment result dw 存放和 dseg ends cseg segment assume cs cseg,ds dsegstart mov ax,dseg mov ds,ax mov ax,5 從5開始加 mov result,0 和的初值賦0 mov cx,20 ...