汇编语言对显存直接输出字符串

来源:互联网 发布:传智播客2015java视频 编辑:程序博客网 时间:2024/06/06 01:19

程序目的:设置输出字体的格式,具体见程序注释


程序代码:

[plain] view plain copy 在CODE上查看代码片派生到我的代码片
  1. D_SEG SEGMENT  
  2.     STR1 DB 'Hello World!'  ;定义字符串  
  3. D_SEG ENDS  
  4.   
  5.   
  6. C_SEG SEGMENT  
  7.       
  8.     ASSUME CS:C_SEG,DS:D_SEG    ;定义CS,DS,入口  
  9.       
  10.     START:  MOV AX,0B800H         
  11.             MOV ES,AX           ;将显存地址0B800H赋值给ES  
  12.             MOV DI,0  
  13.             MOV AX,D_SEG        ;获取D_SEG的地址  
  14.             MOV DS,AX           ;将D_SEG的地址赋值给DS  
  15.             LEA SI,STR1         ;将STR1的地址赋值给SI  
  16.             MOV CX,4            ;CX为循环次数  
  17.               
  18.     LOOP1:  MOV AL,[SI]         ;AL写入数据  
  19.             MOV AH,0CH          ;AH写入格式  
  20.             MOV ES:[DI],AX      ;将AX写入显存ES:[DI]  
  21.             INC SI              ;指向字符串的下一位  
  22.             INC DI              ;指向显存的下一位  
  23.             INC DI  
  24.             LOOP LOOP1  
  25.               
  26.     EXIT :  MOV AX,4C00H  
  27.             INT 21  
  28. C_SEG ENDS  
  29. END START  


运行结果:
0 0