|
主题 : : 向显示缓冲区写入数据,看不到效果. [待解决] |
回复[ 5次 ]
点击[ 509次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2013-11-08 12:10 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2013-11-08 12:05 |
test.asm代码如下(用来测试的),向显示缓冲区写入数据,看不到效果?why?
assume cs:code
code segment
start:mov ax,0b800h
mov bx,0
mov ds,ax
mov [bx],0277h ;低位为字符ASCII码,高位字符属性即绿色'w'
mov ah,0
int 16h
mov ax,4c00h
int 21h
code ends
end start | | |
|
|
|
|
[第1楼]
[ 回复时间:2013-12-02 15:57 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2013-12-02 15:56 |
地址有问题,不应是0b800h,改成0b872h试试,应该0b800是第一行,在debug中刚出来就被刷掉 | | |
|
|
|
|
[第2楼]
[ 回复时间:2016-01-06 17:05 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2015-12-23 14:17 |
assume cs:code
code segment
start:mov ax,0b86eh
mov ds,ax
;mov word ptr [bx],3377h ;低位为字符ASCII码,高位字符属性即绿色'w'
mov bx,0
mov cx,00ffH
mov al,20H
mov ah,0
s:mov word ptr [bx],ax
add bx,2
inc ah
loop s
;;;;;;;;;;;
mov ah,0
int 16h
mov ax,4c00h
int 21h
code ends
end start | | |
|
|
|
|
[第3楼]
[ 回复时间:2016-01-06 17:31 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2015-12-23 14:17 |
assume cs:code
code segment
start:mov ax,0b86eh
mov ds,ax
;mov word ptr [bx],3377h ;低位为字符ASCII码,高位字符属性即绿色'w'
mov bx,0
mov cx,0100H
mov al,20H
mov ah,0
s:mov word ptr [bx],ax
add bx,2
inc ah
loop s
;;;;;;;;;;;
mov ah,0
int 16h
mov ax,4c00h
int 21h
code ends
end start | | |
|
|
|
|
[第4楼]
[ 回复时间:2016-01-10 13:57 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2015-12-23 14:17 |
ASSUME CS:CODES,DS:DATAS
DATAS SEGMENT
db 'welcome to masm!'
DATAS ENDS
CODES SEGMENT
START:
MOV AX,DATAS
MOV DS,AX
mov ax,0b800H
mov ss,ax
mov bp,1920
;;;;;;;;
mov ah,00000010b
mov cx,10H
mov bx,0
s1:mov al,byte ptr [bx]
inc bx
mov [bp],ax
add bp,2
loop s1
mov ah,00100100b
mov cx,10H
mov bx,0
s2:mov al,byte ptr [bx]
inc bx
mov [bp],ax
add bp,2
loop s2
mov ah,01110001b
mov cx,10H
mov bx,0
s3:mov al,byte ptr [bx]
inc bx
mov [bp],ax
add bp,2
loop s3
;;;;;;;;
MOV AX,4C00H
INT 21H
CODES ENDS
END START | | |
|