汇编语言问题?

写出完成下列功能的程序段:1、将AL中的两位BCD码分离,分别存放DL和DH中。2、将DL中的4位二进制数转换成16进制数的ASCII码。3、将AL中的8位二进制数高4位... 写出完成下列功能的程序段:
1、将AL中的两位BCD码分离,分别存放DL和DH中。
2、将DL中的4位二进制数转换成16进制数的ASCII码。
3、将AL中的8位二进制数高4位和低4位交换。
4、将AL中的8位有符号数转换成它的绝对值。
5、用串扫描指令在一个字符串中查找字符'*'。
6、将输入的大写字母改变成小写输出。
7、输入一个字母,然后输出它的后续字母。
能再详细点吗?最好说下相关的指令,我再追加赏分就是了
展开
 我来答
百度网友0ad5d59
2009-02-17 · TA获得超过1192个赞
知道小有建树答主
回答量:378
采纳率:0%
帮助的人:572万
展开全部
1.mov dl, al
and dl, 0fh
mov dh, al
shr dh, 4
and dh, 0fh

2. and dl, 0fh;这句是去除dl无用的高4位
add dl, 20h;+32就是字符了

3. mov bl, al
shr al, 4
and al, 0fh;这些可能不需要,不知道移位后是否用0填充就加上
shl bl, 4
or bl, f0h;同上
or al, bl

4
5
6
7
后面的你自己写吧.我这里非计算机专业的,没学过X86结构和汇编的人,都能写一点,,相信你自己也可以.
不会自己翻看一下指令集就好了
老石猴
2009-02-17 · TA获得超过2326个赞
知道小有建树答主
回答量:970
采纳率:0%
帮助的人:548万
展开全部
虽然不难,但是这么多问题才给20分也太小气了吧,只给你几个提示好了。
1、AL是8位的,可以通过与运算分别取出其高四位、低四位。
2、你只要知道ASCII码与数之间有什么区别就知道怎么做了。
3、从1中的方法,既然能分离高低四位,自然交换也不是什么难事。
4、首先判断其是正数还是负数,如果是正数就不用变了,如果是负数,则利用取补指令就可得出其绝对值。
5、太简单,很多书上讲到串扫描指令时都会举例
6、很简单,看看ASCII码表上,大小写字符之间差多少,对大写字母加上差值就得出相应的小写字母。
7、比6还简单,不过注意这里是后续字母,比如C后面就是D,但是Z后面应该是什么呢?自己想
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式