帶有顏色的字符串顯示(hello world 級別程序)
一、代碼
DATAS SEGMENT
;'0123456789abcdef'
db 'linhongcun' ;要顯示的字符串,10
DATAS ENDS
STACKS SEGMENT
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
mov sp,128
mov ax,0b872h ;算出屏幕第12行中間的顯存的段起始位置放入ax中
mov es,ax ;此時es爲屏幕第12行中間的顯存的段起始位置
mov si,0 ;si用來索引代碼列的字符
mov di,0 ;di用來定位目標列
mov cx,10 ;字符串長度
s1:
mov al,ds:[si] ;源字符
mov es:[di],al ;顯示目標字符體
mov al,71h ;顏色
mov es:[di+1],al;設置目標字符顏色
inc si ;db 一個字符一個字節
add di,2 ;顯存 一個字符兩個字節:偶字符體,奇字符顏色
loop s1
MOV AH,4CH
INT 21H
CODES ENDS
END START
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
二、效果
三、小結
1、常見的 ASCII 碼
a:97
A:65
0:48
回車:13
換行:10
空格:32
2、位、字節、字
1字節=2字=16位
3、BCD碼
使用4位二進制數表示一位十進制數,只取前10種狀態0000-1001來表示十進制數碼 0-9
例如:十進制數 1258 對應的BCD碼是 0001 0010 0101 1000 ;
4、CPU
地址總線寬度 n 位,尋址能力爲 2n2n
5、尋址方式
6、時間顯示
彙編實驗14:訪問CMOS RAM
7、揚聲
彙編程序——揚聲器發聲的控制
四、其他