一、代码
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、常见的 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 位,寻址能力为 2n 2 n
5、寻址方式
6、时间显示
7、扬声
四、其他
参考文章:汇编语言中如何在屏幕显示字符