预览加载中,请您耐心等待几秒...
1/2
2/2

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

在线作线业3 1、习题4.3将AX寄存器中的16位数连续4位分成一组,共4组, 然后把这4组数分别放在AL、BL、CL和DL寄存器中。 思路:设这四组从低位到高位分别放在AL、BL、CL和DL寄存器中。这里仅列出代码段: movbl,al;将al中的两组分开andal,0fh;屏蔽高四位后送almovcl,4;原al中的数据逻辑右移4次送blshrbl,clmovdl,ah;将ah中的两组分开anddl,0f0h;屏蔽低高四位后送dlmovcl,4;原ah中的数据逻辑右移4次送dlshrdl,clmovcl,ah;屏蔽高四位后送clandcl,0fh 2.习题4.4编写一个程序,把从键盘输入的一个小写字母用大写字母显示出来。 getkey:movah,1;从键盘输入,出口:al存键值int21hcmpal,’a’;判键值是小写字母?jbgetkaycmpal,’z’jagetkaysubal,20h;是小写字母转换为大写字母movah,09h;显示int21h 3、习题4.5已知用于LED数码管显示的代码表为:LEDTABLEDB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8HDB80H,90H,88H,83H,0C6H,0C1H,86H,8EH它依次表示0~9、A~F这16个数码的显示代码。 现编写一个程序实现将LEDNUM中的一个数字(0~9,A~F)转换成对应的LED显示代码 .modelsmall.stack256.dataLEDtableDB0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8hDB80h,90h,88h,83h,0c6h,0clh、86h,8ehlednumDB?.code.startupmovbx,offsetLEDtablemoval,lednumxlat;al中存有对应的LED显示代码。.exit0end 4.习题4.26把一个字符串中的所有大写字母改为小写字母,该字符串以0结尾,写成过程, 利用AL作为入口、出口参数完成。 .modelsmall.stack256.data stdngdb’HeLLOeveRyboDy!’,0.code.startupmovbx,offsetatring again:moval,[bx]callchan;调用过程mov[bx],al next:incbxjmpagain done:.exit0 chanproc;大写转换为小写字母的过程oral,aljzdonecmpal,’A’jbnextcmpal,’Z’janextoral,20hret chanendpend 5、4.27请按如下子程序说明编写过程:;子程序功能:把用ASCII码表示的两位十进制数转换为对应二进制数;入口参数:DH=十位数的ASCII码,DL=个位数的ASCII码;出口参数:AL=对应的二进制数 astobprocanddh,0fh;十位数的ASCII码转为二进制数moval,dhmul10;al=10*dhanddl,0fh;个位数的ASCII码转为二进制数addal,dl;al=10*dh+dlretastobendp