编写一个生成ASCII码表的程序,并显示在屏幕上

急求 要求用汇编编写

第1个回答  2010-06-08
Code segment
assume cs:Code, ds:Code
org 100h
start:
push cs
pop ds
mov ax, 3
int 10h
mov ax, 0B800h
mov es, ax
mov si, offset ASCII
mov di, 38h
cld
mov cx, 19h

@116:
lodsb
stosb
mov al, 24h
stosb
loop @116
mov di, 1E0h
xor dx, dx
mov cx, 100h

@125:
call sub_190
mov al, dl
stosb
mov al, 1Ah
stosb
inc dl
loop @125
mov dx, 1400h
mov bh, 0
mov ah, 2
int 10h ; - VIDEO - SET CURSOR POSITION
; DH,DL = row, column (0,0 = upper left)
; BH = page number
mov ah, 0
int 16h ; KEYBOARD - READ CHAR FROM BUFFER, WAIT IF EMPTY
; Return: AH = scan code, AL = character

mov ah, 4Ch
int 21h ; DOS - 2+ - QUIT WITH EXIT CODE (EXIT)

sub_190:
push cx
mov al, 20h
stosb
inc di
mov al, dl
mov cl, 4
shr al, cl
or al, 30h
cmp al, 3Ah
jb short @1A3
add al, 7

@1A3:
stosb
inc di
mov al, dl
and al, 0Fh
or al, 30h
cmp al, 3Ah
jb short @1B1
add al, 7

@1B1:
stosb
inc di
mov al, 20h
stosb
inc di
pop cx
ret

ASCII db ' ASCII CODES TABEL $$',0

Code ends
end start本回答被提问者采纳

编写一个生成ASCII码表的程序,并显示在屏幕上
ASCII db ' ASCII CODES TABEL $$',0 Code ends end start

C语言,在显示器上输出ASCII码表
main(){ int i;for(i=0;i<=255;i++){ printf("\\t%d %c\\t",i,i);if(i%7==0)printf("\\n");getch();} }

用C语言如何生成完整的ASCII码表
\/\/小程序,生成ASCII码表 include<stdio.h> int main(void){ int n;n=0;printf("代码符号\\n");while(n++<=255)printf("%4d%4c\\n",n,n);return 0;} 不一定能全部显示,看系统而言 程序思路是这样的:每个字符都有对应的一个编码,这是固定的.编程时,先让数字按十进制显示,再让数字按字符...

用JAVA编写输出ASCII码表的程序
打印出的字符可以看出来,1-27是控制字符,28-127是字符

在c++怎样编写输出ASCII码表的程序
include <stdio.h> using namespace std;int main(int argc, char *argv[]){ for (int i=0; i<128; i++){ printf(" %3d %c ", i, (char)i); \/\/ 你可以升级一下这里,因为有类似回车的空白符。if (i % 8 == 0){ printf("\\n");} } return 0;} 你可以简单的修改一下...

用C语言如何生成完整的ASCII码表
include<iostream> using namespace std;int main(){ int i;for(i=0;i<256;i++)cout<<i<<" "<<(char)i<<endl;return 0;} 因为ascii码是从0-255,所以输出0-255的char型强制类型转换,就可以输出了 但是平台不一定支持所有的ASCII码,所以有些可能无法正常显示 ...

C语言编程输出ASCII码表中的可见部分
可见部分是从32号开始。其中第32号是空格特殊符号是从128号开始,也可以算作可见部分,但是只有在TC(DOS版的C语言编辑程序)里能显示出来!include<stdio.h> int main(){int i};for(i=32;i<=255;i++){printf("%c ",i)}。

如何在excel中打印出ascii码表
1. 输入ASCII码在Excel中新建一空白工作簿,在A1中输入1,选中A1按住Ctrl键向下拖动到20,在C1中输入21,重复上述操作拖动到40,按上述规律每间隔一列产生ASCII码(实际多少与格式由读者自定)。2. 生成字符在B1单元格中输入“=char(a1)”,回车后,选中B1单元格,当指针变成填充柄时双击,产生1-20...

打印ascll码表以43+行6+栏输出时,程序如何控制?请编写相应的程序
下面是一个示例程序,可以以43行6栏的形式打印ASCII码表:def print_ascii_table():for i in range(32, 128):print(f"{i:3d}: {chr(i)}", end="\\t")if (i-31) % 6 == 0:print()print_ascii_table()这个程序使用了一个循环来遍历ASCII码表中的字符,从32到127。在每次循环中,它...

c++怎样输出字符的ASCII码?
思路:先定义字符ch,输入字符,在把字符强制转换成整数就是该字符的ASCII码值,即int(ch)。参考代码: #include<iostream>using namespace std;int main(){char ch;cin>>ch;cout<<int(ch)<<endl;return 0;}\/*运行结果:A65*\/

相似回答