ASCII 字元表

From: http://home.educities.edu.tw/wanker742126/asm/ap04.html

ASCII 字元表

ASCII 碼大致可以分作三部分組成。

第一部分由 00H 到 1FH 共 32 個,一般用來通訊或作為控制之用,有些字元可顯示於螢幕,有些則無法顯示在螢幕上,但能看到其效果(例如換行字元、歸位字元)。如下表:

ASCII 表(0到1FH)

第二部分是由 20H 到 7FH 共 96 個,這 95 個字元是用來表示阿拉伯數字、英文字母大小寫和底線、括號等符號,都可以顯示在螢幕上。如下表:

ASCII 碼字元ASCII 碼字元ASCII 碼字元ASCII 碼字元
十進位十六進位十進位十六進位十進位十六進位十進位十六進位
03220 05638 8 08050 P 10468 h
03321 ! 05739 9 08151 Q 10569 i
03422 " 0583A : 08252 R 1066A j
03523 # 0593B ; 08353 S 1076B k
03624 $ 0603C < 08454 T 1086C l
03725 % 0613D = 08555 U 1096D m
03826 & 0623E > 08656 V 1106E n
03927 ' 0633F ? 08757 W 1116F o
04028 ( 06440 @ 08858 X 11270 p
04129 ) 06541 A 08959 Y 11371 q
0422A * 06642 B 0905A Z 11472 r
0432B + 06743 C 0915B [ 11573 s
0442C , 06844 D 0925C / 11674 t
0452D - 06945 E 0935D ] 11775 u
0462E . 07046 F 0945E ^ 11876 v
0472F / 07147 G 0955F _ 11977 w
04830 0 07248 H 09660 ` 12078 x
04931 1 07349 I 09761 a 12179 y
05032 2 0744A J 09862 b 1227A z
05133 3 0754B K 09963 c 1237B {
05234 4 0764C L 10064 d 1247C |
05335 5 0774D M 10165 e 1257D }
05436 6 0784E N 10266 f 1267E ~
05537 7 0794F O 10367 g 1277F char127.gif

第三部分由 80H 到 0FFH 共 128 個字元,一般稱為『擴充字元』,這 128 個擴充字元是由 IBM 制定的,並非標準的 ASCII 碼。這些字元是用來表示框線、音標和其他歐洲非英語系的字母。

ASCII 碼(80H到0FFH)
编写显示ASCII的汇编程序是一个有趣的任务,它涉及字符编码、循环结构以及屏幕输出等基础内容。下面将为您简要说明如何通过汇编语言完成这一目标,并给出关键步骤。 ### 关键点解析 #### 1. ASCII 码范围 标准ASCII码从0到127共包含128个字符。如果需要展示扩展ASCII,则可以考虑0至255之间的所有值。 #### 2. 循环控制 我们需要用循环依次遍历指定范围内每一个整数对应的ASCII字符并将其打印出来。例如,在x86架构下常用寄存器来保存当前迭代次数及数据。 #### 3. 屏幕输出函数 利用系统调用或BIOS中断服务(如INT 21H)把准备好的字符送到显示器上呈现给用户查看结果。 --- 以下是基于DOS环境下的简单示例代码片段: ```asm .model small .stack 100h .data msg db "ASCII Table:", 13, 10, "$" .code main proc ; 初始化段地址和偏移量 mov ax, @data mov ds, ax ; 打印标题信息 lea dx, msg mov ah, 9 int 21h ; 设置初始值 (从空格 ' ' 开始) mov dl, 32 ;; DL 存储当前欲打印之字元 print_loop: cmp dl, 127d ;; 判断是否超出界限 jg end_program ;; 显示单个字符 mov ah, 2 ;; DOS 函数号 - 输出字符 int 21h ;; 调用 INT 21H 中断 ;; 换行处理... mov dl, 13 mov ah, 2 int 21h mov dl, 10 mov ah, 2 int 21h ;; 增加下一个字符 inc dl jmp print_loop end_program: mov ah, 4Ch ;; 结束程序返回操作系统 xor al, al int 21h ;; main endp end main ``` 此程序会逐一遍历从第`32`(十进制)`=`(`空白`) 至 `127`, 并逐一呈现在屏幕上每个相应的可打印符号旁边加上换行符使得更易于观察。 --- **注意事项** - 上述例子适用于实模式下的 x86 CPU 和 MS-DOS 或兼容的操作系统环境下运行。 - 如果您想进一步增强功能还可以添加十六进制数值对应关系或者其他形式美化版面布局比如分列排列等等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值