二进制数的符号扩展
在汇编语言中,我们经常要对字/字节的数据进行操作。当把“字节”转换成“字”,或“字”转换成“双字”时,就需要进行符号扩展。符号扩展的具体操作就是把已知信息的最高位扩展到所有更高位。
例1.1 把8位补码01011010、10101100分别扩展成16位补码。
解:根据符号扩展的含义,“字节→字”的具体扩展结果如下:
01011010 | 10101100 | ||
00000000 | 01011010 | 11111111 | 10101100 |
例1.2 把16位补码0101101111001010、1010111101011011别扩展成32位补码。
解:根据符号扩展的含义,“字→双字”的具体扩展结果如下:
0101101111001010 | 1010111101011011 | ||
0000000000000000 | 0101101111001010 | 1111111111111111 | 1010111101011011 |
ASCII码
ASCII码(American Standard Code for Information Interchange)是目前应用极其广泛的一种信息编码,许多计算机系统都是采用它为字符进行编码。它是一种7位二进制编码。
右表是ASCII码的具体编码方案。在该表中,对学习本课程有用的主要信息有:
字符'0'~'9'是连续编码的,其编码的低4位就是该字符在十进制中的数值;
小写字母的编码比大写字母的编码大,对应字母的编码之间相差20H。
表1.3 ASCII码的编码方案
高位 | 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 |
0000 | NUL | DEL | SP | 0 | @ | P | ` | p |
0001 | SOH | DC1 | ! | 1 | A | Q | a | q |
0010 | STX | DC2 | “ | 2 | B | R | b | r |
0011 | ETX | DC3 | # | 3 | C | S | c | s |
0100 | EOT | DC4 | $ | 4 | D | T | d | t |
0101 | ENQ | NAK | % | 5 | E | U | e | u |
0110 | ACK | SYN | & | 6 | F | V | f | v |
0111 | BEL | ETB | ‘ | 7 | G | W | g | w |
1000 | BS | CAN | ( | 8 | H | X | h | x |
1001 | HT | EM | ) | 9 | I | Y | i | y |
1010 | LF | SUB | * | : | J | Z | j | z |
1011 | VT | ESC | + | ; | K | [ | k | { |
1100 | FF | FS | < | L | \ | l | | | |
1101 | CR | GS | - | = | M | ] | m | } |
1110 | SO | RS | . | > | N | ^ | n | ~ |
1111 | SI | US | / | ? | O | _ | o | Del |