当前位置: 代码迷 >> 汇编语言 >> 请汇编高手帮忙啊该如何处理
  详细解决方案

请汇编高手帮忙啊该如何处理

热度:7013   发布时间:2013-02-26 00:00:00.0
请汇编高手帮忙啊,急
我们这学期有微机通信与接口的汇编课,因为是选修,而且必修课学的都要死人了...所以就不怎么去上这课...但很不幸,老师布置了几道作业题...本周五要交,无奈之下就想到了各位高手,希望大家帮忙啊,谢谢啊,给分多多啊
练习
1.编写程序,比较两个字符串STRING1和STRING2是否完全相同,若相同则显示‘MATCH’,若不同则显示‘NO MATCH’。
2.编写程序,从键盘接收一个四位16进制数,并在终端上显示与它等值的二进制数。
3.编写一程序,比较数组ARRAY中的三个16位补码数,并根据比较结果在终端上显示如下信息:
 1)如果三个数都不相等则显示0;
 2)如果三个数有二个相等则显示1;
 3)如果三个数都相等则显示2。
4.从键盘输入一系列字符(以回车符结束),并按字母、数字及其它字符分类计数,最后显示出这三类的计数结果。


------解决方案--------------------------------------------------------
为了不害你,还是你自己写吧。

到这里问不如直接找老师或同学问。

自学的话也容易,将汇编教材的串指令部分,条件指令部分,输入输出中断

以及上机部分看一遍,然后相信不难写出来。

楼主只要花半天时间即可搞定。
------解决方案--------------------------------------------------------
1.编写程序,比较两个字符串STRING1和STRING2是否完全相同,若相同则显示‘MATCH’,若不同则显示‘NO MATCH’。
dseg segment
str1 db'adb'
str2 db 'abd'
m db 'MATCH',0DH,0AH,'$'
NM db 'NO MATCH',0DH,0AH,'$'
dseg ends
cseg segment
main proc far
assumecs:cseg,ds:dseg,es:eseg
start:push ds
push ax
mov ax,dseg
mov ds,ax
mov es,ax
lea si,str1
lea distr2
mov cx,str2-str1
repe cmpsb
jne dispnm
mov ah,09h
lea dx,m
int 21h
ret
main endp
cseg ends
end start
2.编写程序,从键盘接收一个四位16进制数,并在终端上显示与它等值的二进制数。
...
mov bx,0
mov cl,4
mov ch,4
l0: shl bx,cl
mov ah,1
int 21h
cmp al,39h
ja l1
and al,0fh
jmp l2
l1:and al,0fh
add al,9
or bl,al
dec ch
jne l0
mov cx,16
l3:mov dl,0
rol bx,1
rcl dl,1
or dl,30h
mov ah,2
int 21h
loop l3
ret
...
  相关解决方案