用汇编语言编写源程序:用查表方法,将一位十六进制数转换成其ASCII码,并储存。

用汇编语言编写源程序:用查表方法,将一位十六进制数转换成其ASCII码,并储存。,第1张

建表太麻烦了,我就把中间用到的关键指令给楼主吧(注:我用的是nasm)

mov al,[十六进制值]

mov bx,表首地址

xlat

这三步即可使得al中的结果为对应十六进制数的ASCII码了。

char code s7[10]={};//数组里为 0-9 的七段码数据,这个数组存放在代码段(ROM)里

char show(char m) // m=0,1,9

{ return s7(m); }

main()

{ char h, p ;

while(1){

h=8; //调用时

p=show(h);// 对应(8)的七段码数据提取到 p;

}

}

#include<stdioh>

struct data

{int t;

float m;

};

struct data a[]={{0,294},{10,333},{20,372},{30,414},{40,458},{50,504},{60,552},{70,602},{80,656}};

void main()

{

int n,i;

scanf("%d",&n);

for(i=0;i<9;i++)

if(a[i]t==n)

{printf("%31f\n",a[i]m);

break;

}

}

这个简单~

希望对你能有所帮助。

查表法,就是将你的一些固定的数据存储到程序存储器中,当你的程序中需要这些数据时,movc指令读取这些数据。举例假设你的系统要用数码管显示0-9这10个数字,而假设这10个数字各自的断码(点亮时io口相应的电平)分别为

0xC0, //"0"

0xF9, //"1"

0xA4, //"2"

0xB0, //"3"

0x99, //"4"

0x92, //"5"

0x82, //"6"

0xF8, //"7"

0x80, //"8"

0x90, //"9"

你有两种方法存储这时个数据,一种是在数据区用十个字节存储这些数据(数据常量),但这会占用你的数据存储器空间。另外一种方法就是把这些不变的数放到程序空间中,到需要的时候到程序空间中读取,这便是查表。也就是在程序空间中建立一个表,假设你需要就9这个数值的断码,就去表中查看一下9对应的数据。

以上就是关于用汇编语言编写源程序:用查表方法,将一位十六进制数转换成其ASCII码,并储存。全部的内容,包括:用汇编语言编写源程序:用查表方法,将一位十六进制数转换成其ASCII码,并储存。、试编写一个用查表法查0-9字形段码的子程序,调用子程序前,待查表的数据存放在、C语言查表等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9379766.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存