用15行*16列的表格形式显示ascii码为10h-ffh的所有字符(双重循环程序)
时间: 2023-12-23 12:00:50 浏览: 29
可以使用双重循环程序来显示ascii码为10h-ffh的所有字符,代码如下:
```
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
cout << setfill('0') << setw(2);
for (int i = 0x10; i <= 0xff; i += 0x10) {
for (int j = 0; j < 16; j++) {
int code = i + j;
if ((code >= 32 && code <= 126) || code == 9 || code == 10 || code == 13) {
cout << (char)code << " ";
} else {
cout << " ";
}
}
cout << endl;
}
return 0;
}
```
运行该程序将会输出一个15行*16列的表格,其中显示了ascii码为10h-ffh的所有字符。每个字符都使用其对应的ascii码进行显示,不可打印的字符则用空格代替。这样就可以清晰地展示ascii码对应的字符。
相关问题
用8086的jump在屏幕14行25列上显示字符串
这里提供一份使用8086汇编语言的代码,可以在屏幕的14行25列上显示字符串。
```
org 100h ; 程序入口地址
section .data
msg db 'Hello, World!', 0 ; 要显示的字符串,以0结尾
section .text
mov ah, 0 ; 设置显示模式
mov al, 3 ; 文本模式,80x25
int 10h
mov ah, 2 ; 设置光标位置
mov bh, 0 ; 页号
mov dh, 13 ; 行号(从0开始)
mov dl, 24 ; 列号(从0开始)
int 10h
mov ah, 9 ; 显示字符串
mov dx, msg ; 字符串地址
int 21h
jmp $ ; 程序结束,无限循环
```
在这个代码中,首先设置显示模式为文本模式,80列25行。然后设置光标位置为14行25列。最后使用int 21h中断显示字符串。程序执行完毕后,使用无限循环跳转到程序入口,以保持程序运行。
在数据段中有个字节数据变量NUM,编程将NUM中的数(如3F H)以16进制的形式在显示器上用彩色字体显示出来(即显示出3F这2个字符)。 要求:将数值转换为ASCII码的程序设计为子程序。主程序、及子程序
好的,以下是汇编语言的代码实现:
```
; 数据段
DATA SEGMENT
NUM DB 3FH ; 定义要显示的数值
BUF DB 6 DUP (?) ; 定义缓冲区,用于存放转换后的ASCII码
DATA ENDS
; 代码段
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
; 将数值转换为ASCII码的子程序
; 输入:AL-要转换的一位十六进制数数字(即一个4位二进制数)
; 输出:AL-对应的ASCII码
HEX_TO_ASCII PROC
CMP AL, 9 ; 判断是否是0~9的数字
JBE DIGIT
ADD AL, 7 ; 不是0~9的数字,加上7得到A~F的ASCII码
DIGIT:
ADD AL, 30H ; 加上30H得到对应的ASCII码
RET
HEX_TO_ASCII ENDP
START:
MOV AX, DATA ; 初始化数据段寄存器
MOV DS, AX
; 将NUM的高低四位分别提取出来,存入BH、BL
MOV AL, NUM
AND AL, 0FH ; 提取低四位
CALL HEX_TO_ASCII ; 转换成ASCII码
MOV BUF+4, AL ; 存入缓冲区
MOV AL, NUM
SHR AL, 4 ; 提取高四位
CALL HEX_TO_ASCII ; 转换成ASCII码
MOV BUF+5, AL ; 存入缓冲区
; 设置彩色字体
MOV AH, 09H ; BIOS中断09H用于在屏幕上输出字符串
MOV BH, 00H ; 显示页面号
MOV BL, 0FH ; 字体颜色为白底、亮红字
MOV CX, 02H ; 要输出的字符串长度
MOV DX, OFFSET BUF+4 ; 缓冲区中需要输出的字符串地址
INT 10H ; 调用BIOS中断显示字符串
; 程序结束
MOV AH, 4CH ; DOS中断4CH用于程序结束
INT 21H
CODE ENDS
END START
```
该程序先定义了一个要显示的数值NUM,以及一个缓冲区BUF,用于存放转换后的ASCII码。然后定义了一个子程序HEX_TO_ASCII,用于将一个4位十六进制数转换为对应的ASCII码。在主程序中,先将NUM的高低四位分别提取出来,然后分别调用HEX_TO_ASCII子程序将其转换为ASCII码并存入缓冲区。最后通过BIOS中断09H将缓冲区中的内容以彩色字体显示到屏幕上。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)